在uml统一建模语言中,常用的类之间的关系有以下几种:泛化(Generalization),实现(Realization),关联(Association),聚合(Aggregation),组合(Composition),依赖(Dependency)
- 泛化(Generalization)
泛化关系是一种继承关系,表示已一般与特殊的关系,它指定了子类如何特化父类的所有特征和行为。
连线特征:带三角箭头的实线,箭头指向父类
2.实现(Realization):
实现是一种类与接口的关系,表示类是接口的所有特征和行为的实现。
【连线特征】:带三角的虚线,箭头指向接口
3.关联(Association)
是一种拥有关系,他使一个类知道另一个类的属性和方法;如:老师与学生,丈夫与妻子的关联关系可以是单向的也可以是双向的。双向的关联可以有两个箭头也可以没有箭头。
【连线特征】带普通箭头的实心线,指向被拥有者
4.聚合(Aggregation)
聚合关系是整体与部分的关系,且部分可以离开整体而单独存在。如车和车胎是整体和部分的关系,轮胎离开车仍然可以存在。
【连线特征】带空心菱形的实心线,菱形指向整体
5.组合(composition)
是整体与部分的关系,但是部分不能离开整体而单独存在。如公司和部门是整体和部分的关系,没有公司就不存在部门。组合关系使是关联关系的一种,是比聚合关系还要强的关系。
【连线特征】:带实心菱形的实线,菱形指向整体
6.依赖(Dependency)
是一种使用关系,即一个类实现需要另一个类的协助,所以尽量不要使用双向的互相依赖。
【连线特征】:带箭头的虚线,指向被使用者
各种关系的强弱顺序:
泛化=实现 > 组合 > 聚合 >关联 > 依赖
下面一张图,整体上描述了一下各个关系
参考链接: