0

如果我们考虑一个 UML 图,其中我们有一个对象,其中包含另一个类的对象集合。两个类之间会有什么样的关系。

是聚合还是组合?

具有集合的对象不会直接拥有这些对象,而是集合将持有它们。但是在这种情况下,我们可以将其表示为 1 对多、包含类型的关系吗?

我对 UML 很陌生,如果这似乎是一个完全的菜鸟问题,我很抱歉。

4

2 回答 2

1

更少的 UML,更多的概念,实用的答案

您有第一个对象,其中包含另一个第二个对象。

第二个对象本身就是一个集合,其中包含多个对象元素。

从非常技术、设计或编程的角度来看,有人可能会认为元素与第一个对象无关,而是与第二个对象相关,作为它的容器。

第一个对象将包含和管理对象的过程委托给第二个对象。

我在设计和编程中多次使用过这个案例。在许多集合库(数组、列表、堆栈)中,每个项目都有对容器的引用。

我有时会在每个项目中添加对第一个对象本身的引用。

因此,您可能会将主要的第一个对象和集合对象视为单个对象。

干杯。

于 2012-06-19T13:50:54.113 回答
0

组合是一种“部分”关系,例如:每辆汽车都有引擎,如果引擎不存在,汽车就无法工作。所以汽车和发动机之间的关系,就是组合。

但是聚合是一种“具有”关系,在聚合中,对象可以像汽车和收音机一样独立存在。

所以,如果你的关系太强,它是组合还是不是聚合。

于 2012-06-19T11:30:02.153 回答