- 参考链接 :UML中几种类间关系:继承、实现、依赖、关联、聚合、组合的联系与区别
- 参考链接 :UML类图箭头关系
1. 继承(略)
2. 实现(略)
3. 依赖:
【关系】一个类Class_A使用到了另一个类Class_B,而这种使用关系是具有临时的、偶然的、较弱的。但是Class_B类的变化会影响到Class_A,只是影响地少一点。 它表现的是一种使用的关系,所以要尽量不使用双向的互相依赖。
【方向】虚线普通箭头,指向被使用者。
- 用代码表示:
class Class_A{
void func(Class_B b){ ... }
}
-
用链接中的UML类图表示:
依赖关系 UML
4. 关联:
【关系】体现的是两个类之间的一种强依赖的拥有关系,比如Class_B是Class_A的成员变量。
【方向】实线普通箭头,指向被拥有者。
- 用代码表示:
class Class_A{
Class_B b;
}
-
用链接中的UML类图表示:
关联关系 UML
5. 聚合:
- 在代码层面,和关联是一致的。
- has-a的关系,部分可以属于多个整体对象。
例如:Class_A 和 Class_B 都可以拥有Class_C。 - 用代码表示:
class Class_A{
Class_C c;
}
class Class_B{
Class_C c;
}
6. 组合
- 在代码层面,和关联是一致的。
- contains-a的关系,但部分只能属于一个整体对象。
例如:Class_B 被 Class_A 拥有了后,不能再被其他类拥有。
网友评论