UML - 未在字段中定义时 Java 类 之间的关系
UML - Relation between Java classes when not defined in a field
class ClassA {
private JFrame frame = new JFrame(); // has-a, composition
public ClassA()
{
frame.add(new ClassB());
}
}
A类和B类之间的relationship/association有名字吗? ClassA 没有 ClassB 的字段。
我在 Y. Daniel Liang 的 "Introduction to Java Programming" 中阅读了关于 class 关联并使用了 google,但找不到具有这种特定关系的示例。
我正在绘制一些现有代码的 UML 图,并希望获得正确的关系注释。
也许是我想多了,只是单纯的联想?
您的 ClassB 实例是通过 JFrame 存储的,因此您可以使用 class 关系 :
或者只添加从 ClassA 到 ClassB
的依赖项
私有属性通常建模为单向关联(尽管可导航性也可以通过拥有属性以外的其他方式实现)。
您的源代码定义了属性 frame
,因此,您应该在 ClassA
和 JFrame
之间建立关联模型。
然后 class JFrame
对 ClassB
对象进行了 add
操作。这只有在 JFrame
与 ClassB
.
有关联时才有意义
最后 ClassA
创建了 ClassB
的新实例。这个事实可以通过“创建”关系(虚线开放箭头)来形象化。
ClassA
和 ClassB
之间不存在其他关系。由于我们不知道 JFrame
的属性是否私有,因此 ClassA
甚至可能无法访问 ClassB
,即使它创建了它。
组合可能存在于 JFrame
和 ClassB
之间,但您的源代码没有为该决定提供足够的上下文。 ClassA 和 ClassB 之间没有任何意义,因为它们甚至没有关联,无论是 AssociationClass 还是普通 Association。
class ClassA {
private JFrame frame = new JFrame(); // has-a, composition
public ClassA()
{
frame.add(new ClassB());
}
}
A类和B类之间的relationship/association有名字吗? ClassA 没有 ClassB 的字段。
我在 Y. Daniel Liang 的 "Introduction to Java Programming" 中阅读了关于 class 关联并使用了 google,但找不到具有这种特定关系的示例。
我正在绘制一些现有代码的 UML 图,并希望获得正确的关系注释。
也许是我想多了,只是单纯的联想?
您的 ClassB 实例是通过 JFrame 存储的,因此您可以使用 class 关系 :
或者只添加从 ClassA 到 ClassB
的依赖项私有属性通常建模为单向关联(尽管可导航性也可以通过拥有属性以外的其他方式实现)。
您的源代码定义了属性 frame
,因此,您应该在 ClassA
和 JFrame
之间建立关联模型。
然后 class JFrame
对 ClassB
对象进行了 add
操作。这只有在 JFrame
与 ClassB
.
最后 ClassA
创建了 ClassB
的新实例。这个事实可以通过“创建”关系(虚线开放箭头)来形象化。
ClassA
和 ClassB
之间不存在其他关系。由于我们不知道 JFrame
的属性是否私有,因此 ClassA
甚至可能无法访问 ClassB
,即使它创建了它。
组合可能存在于 JFrame
和 ClassB
之间,但您的源代码没有为该决定提供足够的上下文。 ClassA 和 ClassB 之间没有任何意义,因为它们甚至没有关联,无论是 AssociationClass 还是普通 Association。