跳转至

PlantUML

导言

UML在编程时常用于画class类图

类图里元素有哪6种关系

在类图中,常见的六种关系如下:

  1. 关联关系(Association)
  2. 符号:实线(--),可带有箭头(-->)。
  3. 含义:表示一个类知道另一个类的存在,通常用于说明类之间的协作关系。例如,Order 类可能与 Customer 类有关联关系。

  4. 聚合关系(Aggregation)

  5. 符号:带空心菱形的实线(--o)。
  6. 含义:是一种特殊的关联关系,表示一个类是另一个类的一部分,但生命周期是独立的,一般使用指针引用来使用。例如,一个 Team 类聚合了多个 Player 类。

  7. 组合关系(Composition)

  8. 符号:带实心菱形的实线(--*)。
  9. 含义:也是一种特殊的关联关系,但与聚合不同,表示一个类完全依赖于另一个类的生命周期,也就是生命周期相同,一般直接实例化,。例如,一个 House 类组合了多个 Room 类,Room 的生命周期依赖于 House

  10. 继承关系(Generalization)

  11. 符号:带实心三角箭头的实线(--|>)。
  12. 含义:表示类与类之间的父子关系,一个类继承自另一个类。例如,Dog 类继承自 Animal 类。

  13. 实现关系(Realization)

  14. 符号:带实心三角箭头的虚线(..|>)。
  15. 含义:表示类与接口之间的实现关系,一个类实现了某个接口。例如,List 类实现了 Collection 接口。

  16. 依赖关系(Dependency)

  17. 符号:虚线箭头(..>)。
  18. 含义:表示一个类依赖于另一个类,但这种依赖是暂时的或轻量级的,通常在方法参数中出现。例如,Car 类依赖于 Engine 类,因为 Car 需要 Engine 作为参数来启动。
有虚线实线,还有三角箭头,菱形箭头,箭头也有虚实两类。分别什么意思

在 PlantUML 的类图中,虚线、实线、箭头形状和方向,以及菱形箭头等元素用于表示不同的关系类型和连接方式。以下是这些符号的具体含义:

  1. 实线箭头 (-->->)
  2. 方向:箭头指向的方向表示关系的方向。
  3. 含义:表示关联关系(Association)。这是最基本的关系,表示一个类知道另一个类的存在。

  4. 虚线箭头 (..>..->)

  5. 方向:箭头指向的方向表示关系的方向。
  6. 含义:表示依赖关系(Dependency)。依赖关系表示一个类使用了另一个类,例如在方法参数中使用了某个类。

  7. 实线三角箭头 (--|>-|>)

  8. 方向:三角箭头指向的方向表示继承关系的方向。
  9. 含义:表示继承关系(Generalization)。用于表示一个类继承自另一个类(父类或接口)。

  10. 虚线三角箭头 (..|>..|>)

  11. 方向:三角箭头指向的方向表示实现关系的方向。
  12. 含义:表示实现关系(Realization)。通常用于表示类实现了某个接口。

  13. 实线菱形箭头 (--*-*)

  14. 方向:菱形指向的方向表示聚合关系的方向。
  15. 含义:表示聚合关系(Aggregation)。聚合关系表明一个类包含另一个类,但两者的生命周期是独立的。例如,班级包含学生,但学生的生命周期与班级无关。

  16. 实心菱形箭头 (--o-o)

  17. 方向:实心菱形指向的方向表示组合关系的方向。
  18. 含义:表示组合关系(Composition)。组合关系表明一个类包含另一个类,并且被包含类的生命周期依赖于容器类的生命周期。例如,房间包含墙壁,房间消失后墙壁也不复存在。

这些符号通过组合使用可以清晰地表达类之间的复杂关系。例如,继承关系与实现关系、依赖关系与关联关系等在类图中都有不同的表达方式。

参考文献

评论