gpt4 book ai didi

oop - 在 UML 类图中,组合可以是双向的吗?

转载 作者:行者123 更新时间:2023-12-04 17:48:00 25 4
gpt4 key购买 nike

组合可以以两个类都知道彼此的方式进行双向吗?

如果不是,那么默认的构图方向是什么?

最佳答案

您应该区分可导航性和聚合性。箭头和钻石。

箭头 A->B 意味着只有 B 可以通过某种简单的方式从 A 到达。如果 A 包含 B 的组合,则意味着

the composite object has responsibility for the existence and storage of the composed objects (parts).



(引用自 OMG 统一建模语言 TM (OMG UML) - p.109)

那么,会众可以双向通航吗?

是的。 这是很正常的。

例如,如果您决定销毁 B 的某些功能,您必须到达 A 并从那里销毁它。因此,组合通常具有双向可导航性。请注意,根据当前和即将到来的 UML 标准,双向导航显示为两侧没有箭头的线。不推荐使用双向箭头。这就是你不会经常看到它的原因。

组合本身可以是双向的吗?我们能在协会的两边看到黑色菱形吗?

,当然这种关联不可能是相互的,因为不可能只在 A 中创建 B,同时只在 B 中创建 A。

有趣的是, shared aggregation (空菱形)也不能相互,但这里的限制不是固有的,它是 UML 标准所禁止的。

关于oop - 在 UML 类图中,组合可以是双向的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26745376/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com