对于继承、实现这两种关系没有疑问, 它们体现的是一种类和类、或者类与接口间的纵向关系;
其他的四种关系体现的是类和类、或者类与接口间的引用、横向关系,是比较难区分的, 有很多事物间的关系要想准确定位是很难的, 总的来说后几种关系所表现的强弱程度依次为: 组合 > 聚合 > 关联 > 依赖;
继承 / 泛化
plantUML 的表达: <|--
实现
plantUML 的表达: <|..
依赖
plantUML 的表达: A <.. B
含义: A 是 B 的某方法的入参
关联
plantUML 的表达: A <-- B
含义: A 是 B 的成员属性
聚合
plantUML 的表达: A "*" o- "1" B
含义: 聚合是特殊的关联, 表示整体与部分的关系, B 是整体, A 是 B 的一部分, 不过 A 脱离了 B 也可以独立存在, B 的生命周期结束的同时 A 的生命周期可以继续;
组合
plantUML 的表达: A *-- B
含义: 组合是特殊的聚合, 表示 A 是 B 的一部分, A 脱离了 B 不可以独立存在, B 的生命周期结束就意味着 A 的生命周期结束;