UML关联、聚合与组合详细图解

本文概述

  • 关联
  • 聚合
  • 组成
  • 关联vs.聚合vs.组成
在UML图中, 关系用于链接几件事。它是结构, 行为或分组事物之间的联系。以下是下面列出的标准UML关系:
  • 关联
  • 依赖性
  • 泛化
  • 实现
关联 关联关系是一种结构关系, 其中在系统内链接了不同的对象。它表现出代表活动的对象之间的二进制关系。它描述了对象之间的关系, 例如一个老师, 可以与多个老师关联。
它由类之间的线表示, 后跟导航方向的箭头, 当箭头在两侧时, 则称为双向关联。我们可以通过在表示关联的行上添加装饰来指定关联的多重性。
例:
1)一个老师有多个学生。
UML关联、聚合与组合详细图解

文章图片
2)一个学生可以与许多老师联系。
UML关联、聚合与组合详细图解

文章图片
组成和聚集是关联的两个子集。在这两种情况下, 一个类的对象都归另一类的对象所拥有。唯一的区别是, 子项在组成上并不独立于其父项而存在, 而在聚合中, 子项不依赖于其父项, 即独立。聚合是关联的一种特殊形式, 组合是聚合的一种特殊形式。
UML关联、聚合与组合详细图解

文章图片
聚合 聚合是关联的子集, 是不同事物的集合。它代表有关系。它比关联更具体。它描述了整体或部分关系。这是一个二进制关联, 即, 它仅涉及两个类。这是一种孩子独立于父母的关系。
例如:
在这里, 我们考虑一个汽车和一个车轮的例子。没有车轮, 汽车就无法行驶。但是车轮可以与自行车, 踏板车, 自行车或任何其他车辆独立使用。车轮对象可以不存在汽车对象而存在, 这证明是一种聚集关系。
UML关联、聚合与组合详细图解

文章图片
组成 构图是聚合的一部分, 它描绘了整个部分的关系。它描述了组合(父)及其部分(子项)之间的依赖关系, 这意味着如果丢弃组合, 则其部分也会被删除。它存在于相似对象之间。
【UML关联、聚合与组合详细图解】从下面的示例中可以看到, 构图关联关系将Person类与Brain类, Heart类和Legs类联系在一起。如果该人被破坏, 大脑, 心脏和腿也将被丢弃。
UML关联、聚合与组合详细图解

文章图片
关联vs.聚合vs.组成
Association Aggregation Composition
关联关系用箭头表示。 聚集关系由一条直线表示, 一端带有一个空菱形。 组成关系由一端带有黑色菱形的直线表示。
在UML中, 它可以存在于两个或多个类之间。 它是关联关系的一部分。 它是聚合关系的一部分。
它合并了类之间的一对一, 一对多, 多对一和多对多关联。 它表现出一种微弱的关系。 它表现出很强的关系。
它可以将另一个对象关联在一起。 在聚合关系中, 关联的对象在系统范围内独立存在。 在组成关系中, 关联的对象不能在系统范围内独立存在。
在这种情况下, 对象链接在一起。 在这种情况下, 链接的对象彼此独立。 在这里, 链接的对象相互依赖。
如果删除一个元素, 它可能会或可能不会影响其他关联的元素。 在聚合关系中删除一个元素不会影响其他关联元素。 如果删除其关联元素之一, 它将影响另一个元素。
示例:一位辅导员可以与多个学生联系, 或者一个学生可以与多个老师联系。 示例:汽车需要一个车轮才能正常运行, 但可能不需要相同的车轮。它也可以与另一个轮子一起工作。 示例:如果将文件放置在文件夹中, 并且该文件夹被删除。文件夹中的文件也将在删除文件夹时被删除。

    推荐阅读