在UML中经常见到几种关系:泛化(Generalization)、实现(Realization)、依赖(Dependency)、关联(Association)、聚合(Aggregation)、组合(Composition)
其中他们的关系强弱为:泛化 = 实现 > 组合 > 聚合 > 关联 > 依赖
1泛化(Generalization)
代码表现:继承关系
关系理解:表示一般与特殊的关系,指定了子类如何特化父类的所有特征和行为
符号:实心线空心三角形,三角形指向父类
2实现(Realization)
代码表现:类与接口关系
关系理解:表示类实现接口的特征和行为
符号:虚线空心三角形,三角形指向接口
3 依赖(Dependency)
代码表现:类与类之间的“相识关系”,局部变量的参数、静态方法的调用
关系理解:类A的变化会影响类B,反之不成立,即是类B依赖类A
符号:虚线箭头,箭头指向类A
4关联(Association)
代码表现:类与类之间的“拥有关系”,成员变量
关系理解:类A的一个成员变量保存了类B的一个引用,可以通过类找到类B
符号:实心线箭头,箭头指向类B
5聚合(Aggregation)
代码表现:成员变量
关系理解:关联中的一种,表示部分和整体的关系,部分可以离开整体而单独存在,eg:车和轮胎
符号:实心线菱形,菱形指向整体
6组合(Composition)
代码表现:成员变量
关系理解:关联中的一种,表示部分和整体的关系,部分不能离开整体而单独存在,要求部分和整体有相同的生命周期,关系比聚合强。eg:人体和手臂
符号:实心线菱形,菱形指向整体