类 与聚合之间的关联
Associations between the classes with aggregation
我需要创建一个 UML Class 图,我不确定我是否正确完成了它。
我会告诉你的例子。
所以 ClassA 有一个 ClassB 的实例,ClassA 从 ClassC 调用方法,这些方法将 ClassA 和 [=19= 的属性变量作为属性变量] B。我还应该连接 ClassC 和 ClassB 吗? ClassA 和 ClassB 之间的关联是否应该指向?下面代码的实现:
ClassB {
constructor() {
this.str1 = "Hello";
}
}
ClassA {
constructor() {
this.str2 = "World";
this.objB = new ClassB();
}
funA() {
let objC = new ClassC();
objC.function1(this.objB.str1);
objC.function2(this.str2);
}
}
ClassC {
constructor() {}
function1(stringFromB) {
console.log(stringFromB);
}
function2(stringFromA) {
console.log(stringFromA);
}
}
let objA = new ClassA();
objA.funA();
感谢您的帮助:)
复合聚合是关于对象的生命周期。您的代码中有注释表明需要这样做。
(N.B。我不知道 Java 范围规则,所以我将 this.objB
视为私有。) 有一个协会是拥有的 属性 ClassA
个(用点表示)名为 objB
。对 ClassC
的依赖来自(暂时使用的)objC
,它不在 class 级别。可以讨论关联是否匹配(老实说,我不得不深入研究规范),但在任何情况下依赖性都没有错(因为它比关联弱,而且肯定 A
依赖于 B
).
另一个N.B。回覆。你的 CD:代码中的函数采用字符串,而不是对象,其中一个函数缺少尾随的 1
.
我需要创建一个 UML Class 图,我不确定我是否正确完成了它。
ClassB {
constructor() {
this.str1 = "Hello";
}
}
ClassA {
constructor() {
this.str2 = "World";
this.objB = new ClassB();
}
funA() {
let objC = new ClassC();
objC.function1(this.objB.str1);
objC.function2(this.str2);
}
}
ClassC {
constructor() {}
function1(stringFromB) {
console.log(stringFromB);
}
function2(stringFromA) {
console.log(stringFromA);
}
}
let objA = new ClassA();
objA.funA();
感谢您的帮助:)
复合聚合是关于对象的生命周期。您的代码中有注释表明需要这样做。
(N.B。我不知道 Java 范围规则,所以我将 this.objB
视为私有。) 有一个协会是拥有的 属性 ClassA
个(用点表示)名为 objB
。对 ClassC
的依赖来自(暂时使用的)objC
,它不在 class 级别。可以讨论关联是否匹配(老实说,我不得不深入研究规范),但在任何情况下依赖性都没有错(因为它比关联弱,而且肯定 A
依赖于 B
).
另一个N.B。回覆。你的 CD:代码中的函数采用字符串,而不是对象,其中一个函数缺少尾随的 1
.