UML有六大关系,继承,实现,关联,依赖,聚合,组合。接下来对这几大关系简单介绍一下。
1.继承(泛化)
首先说一下泛化,泛化是一种继承关系,表示一般与特殊之间的关系,制定了子类如何特化 父类的特征和行为。比如说狼是一种动物,所以狼具有狼的特性也具有动物的特性。它的表示方法是带有三角箭头的实线,箭头指向父类。
2.实现
实现关系是类与接口的关系,表示类是接口所有特征行为的实现。它的表示方法是带有三角箭头的虚线,箭头指向接口。
3.关联
关联是一种拥有关系,使一个类知道另一个类的属性和方法,比如老师和学生,学生和课程。老师和学生是N:N的关系,但是课程是抽象的东西,不能拥有学生。这种关联可以是单向的也可以是双向的。双向的关联可以有两个箭头或者没有箭头,单向的关联有一个箭头。它的表示方法是带普通箭头的实线,指向被拥有者。
4.聚合
聚合是整体与部分之间的关系,且部分可以离开整体而单独存在,比如车和轮胎,同时存在时是一个整体,轮胎离开车也可以存在。它的表示方法是带空心菱形的实线,菱形指向整体
组合也是整体与部分的关系,但是部分不能离开整体,比如公司和部门,他们可以整体存在,但是没有公司,就不存在部门。这种关系比聚合关系要强,要求普通聚合关系中代表整体的对象负责代表部分的对象的生命周期。它的表示方法是带实心菱形的实线,菱形指向整体。
6.依赖
依赖关系是一种使用的关系,也就是一个类需要另一个类的协助,所以尽量不要使用双向的互相依赖。它的表示方法是带箭头的虚线,指向被使用者。
总结:各个关系有一个强弱的顺序
泛化=实现>组合>聚合>关联>依赖