UML类图中的各种关系的定义

UML类图是用来进行系统设计的关键图型,定义各类class。

一个独立的class包括了变量、属性、方法等,这些相对比较直观,但类和类之间的关系就比较复杂。

下图来自于网络,直观的展现出类图中各种关系的关键点

类与类之间的关联,一般通过如下两种方式来代码中实现:

1、继承:这里包括子类继承父类,class实现接口

2、引用:在一个类中,通过参数、变量的方式引用了另一个类

对于第1种【继承】,容易理解和区分,它包括:

A、实现关系:就是class实现接口,Realization

B、泛化关系:子类继承父类,Generalization

对于第2种【引用】,则要看这个引用带来的作用

A、聚合:has a的关系,Aggregation,例如部门有员工,但员工是独立的

B、组合:contains a的关系,Composition,例如人有四肢,但四肢不是独立的

C、依赖:use a的关系,Dependency,例如驾驶员开车,驾驶员独立,车独立,只是开车时产生依赖

D、关联:不含上述3种的其他类型,Association