UML类图知识学习

类图有一下几种关系:
泛化(Generalization)、实现(Realization)、关联(Association)、聚合(Aggregation)、组合(Composition)、依赖(Dependency)

1、泛化:是一种继承关系,表示一般与特殊的关系,它制定了子类如何特化所有父类的特征和行为。eg:老虎是动物的一种。
代码体现:类的继承
箭头指向:带三角箭头的实线,箭头指向父类
UML类图知识学习_第1张图片

2、实现:类与接口的关系,表示类是接口所有特征和行为的实现。
代码体现:接口的实现
箭头指向:带三角箭头的虚线,箭头指向接口
UML类图知识学习_第2张图片

3、关联:是一种拥有的关系,它是一个类知道另一个类的属性和方法。eg:老师与学生,学生与课程,可以双向的,也可以是单向的。
代码体现:成员变量
箭头指向:单向:带普通箭头的实心线,箭头指向被拥有者。双向:有两个箭头,或都没有箭头。
UML类图知识学习_第3张图片
自身关联:
UML类图知识学习_第4张图片

4、聚合:整体和部分的关系,且部分可以离开整体而单独存在。eg:车和车胎是整体和部分的关系,轮胎离开车仍然可以存在。
聚合关系是关联关系的一种,是强的关联关系;关联和聚合在语法上无法区分,必须考察具体的逻辑关系.
代码体现:成员变量。
箭头指向:带空心菱形箭头的实线,菱形箭头指向整体,普通箭头指向部分(被拥有者)
UML类图知识学习_第5张图片

5、组合:是整体与部分的关系,但是部分离开整体不能单独存在。eg:公司与部门的关系,没有公司,部门也不存在。
组合也是关联关系的一种,是比聚合关系还要强的关系,它要求普通的聚合关系中的整体的对象负责代表部分的对象的声明周期。
代码体现:成员变量
箭头指向:带实心菱形箭头的实线,实心菱形箭头指向整体,普通箭头指向部分。
UML类图知识学习_第6张图片

6、依赖:一种使用关系,即一个类的实现需要另一个类的协助,所有要尽量不使用双向的互相依赖。
代码体现:局部变量、方法的参数或这对静态方法的调用。
箭头指向:带箭头的虚线,指向被使用者。
UML类图知识学习_第7张图片

各种关系强弱顺序:
泛化=实现>组合>聚合>关联>依赖

UML类图知识学习_第8张图片

你可能感兴趣的:(UML)