UML关系总结
UML关系总结
分类 | 关系类型 | 说明 | 示例 | 备注 |
依赖 | 依赖(Dependency) |
元素A的变化会影响元素B,则B依赖A,箭头指向被依赖元素 体现为局部变量、方法的参数或者对静态方法的调用 依赖描述了对象之间的调用关系,而关联描述了对象之间的结构关系 |
class Person { void buy(Car car) { ... } } (箭头指向被依赖元素) |
最弱 |
关联 |
关联(Association) | 元素间的结构化关系,它使一个类知道另一个类的属性和方法。通过使用成员变量来实现的,被关联的元素间通常可以被独立的考虑 |
class 徒弟 { }; class 唐僧 { protected: list<徒弟> tdlist;} (箭头指向被依赖元素) |
依次增强 |
聚合(Aggregation) | 表明对象之间的整体与部分关系的关联 |
(菱形头指向整体) |
||
组合或合成(Composition) |
表明整体与部分之间有相同生命周期关系的聚合。 它要求普通的聚合关系中代表整体的对象负责代表部分的对象的生命周期(整体的生命结束,部分的生命也就结束了) |
(菱形头指向整体) |
||
一般化关系 | 泛化(Generalization) |
通常所说的继承(特殊个体 is kind of 一般个体)关系。 表示类与类之间的继承关系,接口与接口之间的继承关系,或类对接口的实现关系。一般化关系是子类指向父类的,或从实现接口的类指向被实现的接口 |
(箭头指向一般个体) |
|
实现(Realization) |
实现指定两个实体之间的一个合同。 元素A定义一个约定,元素B实现这个约定,最常用于接口。 换言之,一个实体定义一个合同,而另一个实体保证履行该合同 |
(箭头指向定义约定的元素) |