UML中类图之间的关系有六种,依次(关系强弱)为实现(Realization)、泛化(Generalization)、组合(Composition)、聚合(Aggregation)、关联(Association)、依赖(Dependency)。
1、实现(Realization)
【描述】类与接口的实现关系。类实现了接口的所有属性和行为。
【样式】
2、泛化(Generalization)
【描述】是一种继承关系,一般是子类实现了父类所有的属性和行为。例如喜鹊继承了鸟类(喜鹊可以泛化为鸟类)
【样式】
3、组合(Compsition)
【描述】一个类由其它类组合而成,是一种部分和整体的关系,但是部分不能脱离于整体而存在。例如鸟类由翅膀类组合而成(还有别的部分),但是翅膀不能单独于鸟类存在。
【代码方式】成员变量
【样式】
4、聚合(Aggregation)
【描述】一个类由其它类聚合而成,是一种整体和部分的关系,但是部分可以脱离整体而存在。例如汽车由轮胎组成(还有比的部分),脱离汽车轮胎还是可以存在的。
【代码形式】成员变量
【样式】
5、关联(Association)
【描述】是一种类与类之间的连接关系。一个类知道另外一个类的属性和方法,是一种强依赖关系。单向箭头,双向箭头(无箭头)。箭头端点有数字,意思如下:
0..1 表示可以有0个或者1个实例
0..* 表示对实例的数目没有限制
1 表示只能有一个实例
1..* 表示至少有一个实例
【代码形式】类A中的属性是类B,或者类A引用了类B的全局变量
【样式】
6、依赖(Dependency)
【描述】是一种协作的关系,也表示类与类之间的连接,表示一个类依赖于另一个类的定义。是一种临时的,脆弱的关系。比如人与船的关系,过河之后关系就解除了。
【代码体现】A类中在局部变量,方法入参,静态方法调用中引用B类,用完之后释放,非强关联
【表示样式】
如上是自己的总结。
参考文档如下,感谢原文作者分享:
https://blog.csdn.net/qq_35495763/article/details/80764914
https://www.cnblogs.com/itplay/p/10671715.html