UML类图中的六种关系
六种关系
- 依赖关系
- 泛化关系
- 实现关系
- 关联关系
- 聚合关系
- 组合关系
依赖关系
虚线箭头 ..>
依赖关系是一种通用的说法, 其他类型的关系都是依赖关系的特例
其他类直接使用或作为泛型:
- 出现在域中
- 出现在方法类型中
- 出现在方法中
java
public class C {
private W w;
public X func(Y y) {
// ...
Z z = new Z();
// ...
}
}
// C ..> W
// C ..> X
// C ..> Y
// C ..> Z泛化关系
实线三角箭头 --|>
子类 继承 父类
java
public class abstract B {}
public class D extends B {}
// D --|> B实现关系
虚线三角箭头 ..|>
子类 实现 接口
java
public interface I {}
public class C implements I {}
// C ..|> I关联关系
实线箭头 -->
具有 导航性
单向一对一
java
public class A {
private B b;
}
public class B {
}
// A --> B双向一对一
java
public class A {
private B b;
}
public class B {
private A a;
}
// A <--> B聚合关系
实线菱形空心箭头 --<>
表示整体和部分的关系, 整体与部分 可以 分开
具有 导航性 和 多重性
java
public Class C {
private X x; // Nullable
private Y y; // Nullable
public void setX(X x) { this.x = x; }
public void setY(Y y) { this.y = y; }
}
// C <>-- X
// C <>-- Y组合关系
实线菱形实心箭头 --<*>
表示整体和部分的关系, 整体与部分 不能 分开
具有 导航性 和 多重性
java
public Class C {
private X x = new X(); // Notnull
private Y y = new Y(); // Notnull
}
// C <*>-- X
// C <*>-- Y