UML6种关系
区别
| 名称 | 英文 | 描述何种关系 | Java中表示 | 图形 |
|---|---|---|---|---|
| 泛化 | Generalization | 一般与特殊 | 类继承类 extends | 实线空心三角 |
| 实现 | Realization | 类与接口 | 类实现接口 implements | 虚线空心三角 |
| 依赖 | Dependency | 使用协助,偶然临时弱 | 类方法参数传入另一个类对象 | 虚线箭头,A(b)->B |
| 关联 | Association | 类联结,长期,可访问另一个类属性和方法 | 一个类的全局变量引用了另一个类 | 实线箭头,A(B)->B |
| 聚合 | Aggregation | - 强关联关系has-a - 整体和个体 - 具有各自生命周期 - 部分从属多个整体对象或为多个整体对象共享 |
同关联,只能从语义级别来区分 | 实线空心菱形箭头 |
| 组合 | Composition | - 更强关联关系contains-a - 整体与部分 - 生命周期一致 - 不能共享 |
同关联,只能从语义级别来区分 | 实线实心菱形箭头 |
注:聚合和组合也可以没箭头,菱形是尾部
