class ClassA { private JFrame frame = new JFrame(); // has-a, composition public ClassA() { frame.add(new ClassB()); } }A类和B类之间的关系/关联是否有名称?类 A 没有用于类 B 的字段。我在Y. Daniel Liang的“Java编程导论”中阅读了有关类关联的内容,并使用了google,但找不到具有此特定关系的示例。我正在绘制一些现有代码的UML图,并希望获得正确的关系注释。也许我过度思考了,它只是一种联想?
2 回答

慕斯王
TA贡献1864条经验 获得超2个赞
私有属性通常建模为单向关联(即使可导航性也可以通过拥有的属性以外的其他方式实现)。
您的源代码定义了 属性 ,因此,您应该对 和 之间的关联进行建模。frame
ClassA
JFrame
然后类具有对象的操作。这只有在 与 有关联时才有意义。JFrame
add
ClassB
JFrame
ClassB
最后创建 一个新的实例。这个事实可以通过“创建”关系(虚线打开箭头)来可视化。ClassA
ClassB
和 之间没有其他关系。由于我们不知道 s 属性是否私有,因此即使它创建了它,也可能无法访问 。ClassA
ClassB
JFrame
ClassA
ClassB
组合可以存在于 和 之间,但您的源代码没有为此决策提供足够的上下文。在ClassA和ClassB之间没有意义,因为它们甚至没有关联,无论是通过AssociationClass还是通过正常的Association。JFrame
ClassB
添加回答
举报
0/150
提交
取消