UML之关系

  • 关联
  • 聚合
  • 组合
  • 依赖
  • 泛化
  • 实现

1、关联(Association)

【关联关系】:是一种拥有的关系,它使一个类知道另一个类的属性和方法。

关联分为双向关联、单向关联、自身关联

1.1双向关联:指双方都知道对方的存在,都可以调用对方的公共属性和方法。

【箭头指向】用不带箭头的实线连接双方

java 自关联的使用场景 uml自关联_实线


1.2单向关联:表示单向的认识,A知道B,A也可以调用B的公共属性和方法。而B不知道A,一般表示为一种引用。

【箭头指向】带三角箭头的实线,箭头指向父类。

java 自关联的使用场景 uml自关联_实线_02


1.3自关联:自关联: 在系统中可能会存在一些类的属性对象类型为该类本身,这种特殊的关联关系称为自关联。

2、 聚合(Aggregation)
【聚合关系】是整体和部分的关系,部分可以离开整体而单独存在。例如:车和轮胎是整体和部分的关系,轮胎离开车仍然可以存在
【箭头指向】带空心菱形的实心线,菱形指向整体

3、组合(Composition)
【组合关系】是整体和部分的关系,但部分不能离开整体而单独存在。例如:公司和部门是整体和部分的关系,没有公司根本不存在部门。
【箭头指向】带实心菱形的实线,菱形指向整体

java 自关联的使用场景 uml自关联_实线_03


4、依赖(Dependency)

【依赖关系】是一种使用关系。一个类的实现需要另一个类的协助。

【箭头指向】带三角箭头的实线,箭头指向父类。

java 自关联的使用场景 uml自关联_父类_04

5、泛化(Generalizetion)

【泛化关系】一种继承关系。例如:小狗是动物的一种,它既有小狗的特性也有动物的特性。

【箭头指向】带三角箭头的实线,箭头指向父类。

java 自关联的使用场景 uml自关联_实线_05


6、实现(Realizetion)

【实现关系】是一种类与接口的关系,表示类是接口所有特征和行为的实现。

【箭头指向】带三角箭头的虚线,箭头指向接口。

java 自关联的使用场景 uml自关联_父类_06

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