我对UML类图有疑问。
我知道我可以使用一个引用双方的名字,但我的问题是:
当它是单向时,是否有必要在关联的两侧显示关联名称?
答案 0 :(得分:2)
关联结束是属性(即“变量”)。当一个类拥有一个属性并且该属性未命名时,这可能是一个问题。相反,当一个协会拥有一个未命名的财产时,这不是一个真正的问题。您无需为关联拥有的属性指定名称。
这是一个例子。我已经将MagicDraw显示关联结束属性作为属性,只是为了说明一点:
请注意theB
如何在类A
中以及与类B
的关联结束时显示为属性。那是因为它们是展示同一财产的两种不同方式。 (这是一种显示我们通常无法在工具中打开的关联结束属性的特殊方式。)另请注意,类C
在框内和框中有未命名的属性与班级A
的关联结束。同样,这是显示相同属性的两种不同方式。您将如何在编程语言中实现该未命名的属性?这可能是一个问题,对吗?
另一件需要注意的事情是,课程B
没有名为theA
的属性,而课程A
没有名为theC
的属性。那是因为这些属性是不可导航的,关联拥有这些属性。
UML中已弃用合并导航性和属性所有权。最近,UML规范引入了“关联点符号”来表示财产所有权。 (最后一个点表示该类拥有该属性。)就个人而言,我从未遇到过混淆问题,我讨厌新的点符号。许多工具不支持它,我认为这很难看。而且,没有点的图表是模糊的。你无法分辨它是在引入规格之前或之后绘制的!