在UML类图中,类与类之间有这几种关系:泛化(Generalization)、实现(Realization)、关联(Association)、聚合(Aggregation)、组合(Composition)、依赖(Dependency)
1、泛化(Generalization)
关系说明:泛化是一种继承关系,父亲和儿子的关系
代码体现:Java里就是extends关键字连接的两个类
箭头表示:带三角箭头的实线,箭头指向父类
UML示例图:
2、实现(Realization)
关系说明:实现是一种接口与实现类的关系
代码体现:Java里就是implements关键字连接的两个类
箭头表示:带三角箭头的虚线,箭头指向接口
UML示例图:
3、关联(Association)
关系说明:关联是一种拥有关系,比如人拥有电脑,关联可以是双向的也可以是单向的
代码体现:就是一个类是另一个类的成员变量
箭头表示:带普通箭头的实心线,箭头指向被拥有着
UML示例图:
4、聚合(Aggregation)
关系说明:聚合是一种整体与部分的关系,比如车和轮胎,车是整体,轮胎是部分,但是轮胎可以脱离车使用
代码体现:成员变量
箭头表示:带空心菱形的实心线,菱形指向整体
UML示例图:
5、组合(Composition)
关系说明:组合是一种整体与部分的关系,比如公司和部门,它要求代表整体的对象负责代表部分的对象的生命周期,比如没有公司就没有部门
代码体现:成员变量
箭头表示:带实心菱形的实线,菱形指向整体
UML示例图:
6、依赖(Dependency)
关系说明:依赖是一种使用的关系
代码体现:局部变量、方法的参数或者对静态方法的调用
箭头表示:带箭头的虚线,指向被使用者
UML类图:
关系的强弱顺序:
泛化=实现>组合>聚合>关联>依赖