类之间具有关联的关联

时间:2019-01-05 22:07:37

标签: class uml associations diagram

我需要创建一个UML类图,并且不确定是否正确完成了操作。

enter image description here 我将在示例中向您展示。 因此,ClassA具有ClassB的实例,ClassC的ClassA调用方法将ClassA和ClassB的属性变量作为属性。我也应该将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();

感谢您的帮助:)

1 个答案:

答案 0 :(得分:-1)

复合聚集与对象的生命周期有关。您的代码中没有显示出对此的需求。

enter image description here

(注意,我不知道Java的范围规则,所以我将this.objB视为私有。)有一个关联,它是ClassA的拥有属性(由点表示),名为{{ 1}}。对objB的依赖来自(暂时使用的)ClassC,它不在类级别上。可以讨论某个关联是否匹配(老实说,我不得不深入研究规范),但是在任何情况下依赖都没有错(因为它比关联弱,并且肯定objC取决于{ {1}}。

另一个N.B.回覆。您的CD:代码中的函数使用字符串,而不是对象,并且其中之一缺少结尾的A