UML 类图关系及符号表达

UML 类图关系及符号表达

UML 类图中有以下几种常见的关系,依赖(Dependency)、关联(Association)、聚合(Aggregation)、组合(Composition)、泛化(Generalization)和实现(Realization),下面对这几种关系及其表达方式做一个极简的介绍。

依赖(Dependency)

表示一个类对不在其实例作用域内的另一个类或对象的引用,通常有以下几种情况的依赖:

  1. 局部变量
  2. 方法的参数或返回值
  3. 静态方法的调用

符号:虚线箭头

UML 类图关系及符号表达_第1张图片

关联(Association)

表示一个类持有另一个类或对象,是一种 “has-a” 关系,通常表现为:

  1. 字段
  2. 属性

符号:实线箭头

UML 类图关系及符号表达_第2张图片

聚合(Aggregation)

表示一种 “强” 关联关系。与关联相比,关联中的两个类型是同一层次的,而聚合中的两个类处于不同层次,强调整体和部分。举例:班级-学生。

在聚合关系中,部分可以离开整体而存在,部分的生命周期不受整体约束。如果 A 由 B 聚合而成,则 A 包含 B 的全局对象,但 B 对象可以不在 A 对象创建时创建。

符号:空棱形实线箭头

UML 类图关系及符号表达_第3张图片

组合(Composition)

表示一种 “强” 聚合关系。与聚合相比,聚合更多地强调同一类型的聚在一起合成了整体,而组合中的部分往往不是同一类型的。举例:人-头(手、脚)、汽车-轮胎(发动机)。

在组合关系中,整体离不开部分,部分的存活周期小于或等于整体,通常在整体的构造方法中实例化部分。

符号:实棱形实线箭头

UML 类图关系及符号表达_第4张图片

泛化(Generalization)

即经常所说的继承,是一种 “is-a” 关系。

符号:实线空三角形

UML 类图关系及符号表达_第5张图片

实现(Realization)

即通常所说的接口实现。

符号:虚线空三角形

UML 类图关系及符号表达_第6张图片

总结

1、引用两张图来形象地展示各种 UML 类图关系:

UML 类图关系及符号表达_第7张图片

UML 类图关系及符号表达_第8张图片

2、各种关系的强弱顺序:泛化 = 实现 > 组合 > 聚合 > 关联 > 依赖 。

3、最后,推荐大家使用 ProcessOn 在线软件来绘制 UML 图。

参考资料

  • UML类图中的符号解释
  • 解析UML类图符号意义
  • UML类图与类的关系详解

你可能感兴趣的:(Architecture)