UML 类图关系及符号表达

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Iron_Ye/article/details/84574132

UML 类图关系及符号表达

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

依赖(Dependency)

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

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

符号:虚线箭头

关联(Association)

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

  1. 字段
  2. 属性

符号:实线箭头

聚合(Aggregation)

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

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

符号:空棱形实线箭头

组合(Composition)

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

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

符号:实棱形实线箭头

泛化(Generalization)

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

符号:实线空三角形

实现(Realization)

即通常所说的接口实现。

符号:虚线空三角形

总结

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

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

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

参考资料

猜你喜欢

转载自blog.csdn.net/Iron_Ye/article/details/84574132