类 与聚合之间的关联

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.