为了账号安全,请及时绑定邮箱和手机立即绑定

UML - 未在字段中定义时 Java 类之间的关系

UML - 未在字段中定义时 Java 类之间的关系

慕的地6264312 2022-08-03 10:46:57
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贡献1995条经验 获得超2个赞

您的 ClassB 实例通过 JFrame 进行记忆,因此您可以使用类关系:

//img1.sycdn.imooc.com//62e9e1be0001437802620122.jpg

或者只是将依赖项从类 A 添加到类 B


查看完整回答
反对 回复 2022-08-03
?
慕斯王

TA贡献1864条经验 获得超2个赞

私有属性通常建模为单向关联(即使可导航性也可以通过拥有的属性以外的其他方式实现)。

您的源代码定义了 属性 ,因此,您应该对 和 之间的关联进行建模。frameClassAJFrame

然后类具有对象的操作。这只有在 与 有关联时才有意义。JFrameaddClassBJFrameClassB

最后创建 一个新的实例。这个事实可以通过“创建”关系(虚线打开箭头)来可视化。ClassAClassB

和 之间没有其他关系。由于我们不知道 s 属性是否私有,因此即使它创建了它,也可能无法访问 。ClassAClassBJFrameClassAClassB

组合可以存在于 和 之间,但您的源代码没有为此决策提供足够的上下文。在ClassA和ClassB之间没有意义,因为它们甚至没有关联,无论是通过AssociationClass还是通过正常的Association。JFrameClassB


查看完整回答
反对 回复 2022-08-03
  • 2 回答
  • 0 关注
  • 110 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号