UML类图的关系

多态

泛化(Generalization)

【定义】:是一种继承关系,表示通常与特殊的关系,它指定了子类如何特化父类的全部特征和行为
【UML表示】:带三角箭头的实线,箭头指向父类

【代码表现】:A类 extends B类spa

public Class Tigger extends Animal{code

实现(Realization)

【定义】:是一种类与接口的关系,表示类是接口全部特征和行为的实现
【UML表示】:带三角箭头的虚线,箭头指向接口

【代码表现】:A类 implements B接口继承

public Class Course implements Goods{接口

依赖(Dependency)

【定义】:是一种使用的关系,即一个类的实现须要另外一个类的协助
【UML表示】:带箭头的虚线,指向被使用者

【代码表现】:局部变量、方法的参数或者对静态方法的调用
生命周期

关联

下面的三种关系从语法上是没有区别的。只是在语义是作区分。ci

关联(Association)

【定义】:是一种拥有的关系。类的地位仍是平等的。
【UML表示】:带普通箭头的实心线,指向被拥有者

【代码表现】:成员变量

注意事项:it

  • 一般状况下关联是双向的,在使用的时候会转成单向。转成单身的原则:以业务关注点高的类为起点,关联另外一个类。

聚合(Aggregation)

【定义】:是总体与部分的关系,且部分能够离开总体而单独存在,部分能够多个总体使用。类有上下层的关系。
【UML表示】:带空心菱形的实心线,菱形指向总体

【代码表现】:成员变量
io

组合(Composition)

【定义】:是总体与部分的关系,但部分不能离开总体而单独存在,部分只能被一个总体使用。类有上下层的关系。它们的生命周期是:同生共死,即若是总体消失了,那么局部也会消失。
【UML表示】:带实心菱形的实线,菱形指向总体

【代码表现】:成员变量
变量