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

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图,并希望获得正确的关系注释。


也许我过度思考了,它只是一种联想?


慕的地6264312
浏览 152回答 2
2回答

拉风的咖菲猫

您的 ClassB 实例通过 JFrame 进行记忆,因此您可以使用类关系:或者只是将依赖项从类 A 添加到类 B

慕斯王

私有属性通常建模为单向关联(即使可导航性也可以通过拥有的属性以外的其他方式实现)。您的源代码定义了 属性 ,因此,您应该对 和 之间的关联进行建模。frameClassAJFrame然后类具有对象的操作。这只有在 与 有关联时才有意义。JFrameaddClassBJFrameClassB最后创建 一个新的实例。这个事实可以通过“创建”关系(虚线打开箭头)来可视化。ClassAClassB和 之间没有其他关系。由于我们不知道 s 属性是否私有,因此即使它创建了它,也可能无法访问 。ClassAClassBJFrameClassAClassB组合可以存在于 和 之间,但您的源代码没有为此决策提供足够的上下文。在ClassA和ClassB之间没有意义,因为它们甚至没有关联,无论是通过AssociationClass还是通过正常的Association。JFrameClassB
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java