UML 有几种关系图标:泛化(继承),实现,依赖,关联,聚合,组合
- 泛化(继承) B——▷A B 类作为 A 类的子类存在。
- 实现 B------▷A B 类实现 A 接口。
- 依赖 A------>B B 类作为 A 类某个方法的参数,表示A想做某些事情需要依赖 B,不然做不成。
- 关联 A——>B(单向) B 类作为 A 类的属性存在,语义上 A 类和 B 类的地位或水平相等。
A—— B(双向) B 类作为 A 类的属相存在, A 类作为 B 类的属性存在,语义上 A 类和 B 类的地位或水平相等。
- 聚合 A♢——>B B 类作为 A 类的属性存在,语义上 B 类可作为 A 类的一部分,这个关系可有可无,是A has--a B 的关系,如房子(A),桌子(B)
- 组合 A♦——>B B 类作为 A 类的属性存在,语义上 B 类是 A 类的一部分,这部分必须有,是 A contain--a B 的关系,如(人),大脑(B)。
一般情况下,继承和实现比较简单,就是其他几个关系会有点小复杂。