UML类图的六种关系

概述

UML类图用于描述系统中的类(对象)本身的组成和类(对象)之间的各种静态关系

类之间的关系有:泛化(继承)、实现、关联、聚合、组合、依赖

六种关系的耦合度大小是:泛化 = 实现 > 组合 > 聚合 > 关联 > 依赖

泛化(Generalization)

泛化就是指继承关系。

代码体现:子类继承父类。

UML符号:实线+空心箭头,箭头指向父类

如图:

image-20201022222623274

实现(Realization)

实现关系即实现类实现接口。

代码体现:A类实现B接口。

UML符号:一条虚线+空心箭头

image-20201022224009475

关联(Association)

关联关系指类和类之间的联系,如一对一、一对多、多对多。其中有单向关联,双向关联。

代码体现:成员变量

UML符号:双向关联,一条实线或一条实线+两个箭头;单向关联,一条实线+一个箭头

一对一

image-20201022225341448

其他:(图片来自https://www.zhihu.com/question/419192424/answer/1471808645)

聚合(Aggregation)

聚合关系(Aggregation)表示的是整体和部分的关系整体与部分可以分开,即部分能脱离整体而独立存在

代码体现:成员变量

UML符号:一条实线+空心菱形

image-20201022225828143

组合(Composition)

组合也是整体与部分的关系,但是整体与部分不可以分开,部分不能脱离整体而独立存在

代码体现:成员变量

UML符号:一条实线+实心菱形

image-20201022230156462

依赖(Dependency)

是一种使用关系,一个类的实现需要另一个类的协助。即在一个类中使用了另外一个类。尽量不要使用双向依赖。以上关系都是依赖关系的特例

代码体现:局部变量、方法的参数或者对静态方法的调用。

UML符号:一条虚线+箭头

image-20201022230737289

参考

https://www.cnblogs.com/vic_/p/8057851.html

https://www.zhihu.com/question/419192424/answer/1471808645

posted @ 2020-10-22 23:16  bxxiao  阅读(734)  评论(0)    收藏  举报