PlantUML

导言

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

类图里元素有哪6种关系

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

  1. 关联关系(Association)
  • 符号:实线(--),可带有箭头(-->)。
  • 含义:表示一个类知道另一个类的存在,通常用于说明类之间的协作关系。例如,Order 类可能与 Customer 类有关联关系。
  1. 聚合关系(Aggregation)
  • 符号:带空心菱形的实线(--o)。
  • 含义:是一种特殊的关联关系,表示一个类是另一个类的一部分,但生命周期是独立的,一般使用指针引用来使用。例如,一个 Team 类聚合了多个 Player 类。
  1. 组合关系(Composition)
  • 符号:带实心菱形的实线(--*)。
  • 含义:也是一种特殊的关联关系,但与聚合不同,表示一个类完全依赖于另一个类的生命周期,也就是生命周期相同,一般直接实例化,。例如,一个 House 类组合了多个 Room 类,Room 的生命周期依赖于 House
  1. 继承关系(Generalization)
  • 符号:带实心三角箭头的实线(--|>)。
  • 含义:表示类与类之间的父子关系,一个类继承自另一个类。例如,Dog 类继承自 Animal 类。
  1. 实现关系(Realization)
  • 符号:带实心三角箭头的虚线(..|>)。
  • 含义:表示类与接口之间的实现关系,一个类实现了某个接口。例如,List 类实现了 Collection 接口。
  1. 依赖关系(Dependency)
  • 符号:虚线箭头(..>)。
  • 含义:表示一个类依赖于另一个类,但这种依赖是暂时的或轻量级的,通常在方法参数中出现。例如,Car 类依赖于 Engine 类,因为 Car 需要 Engine 作为参数来启动。

有虚线实线,还有三角箭头,菱形箭头,箭头也有虚实两类。分别什么意思

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

  1. **实线箭头 (-->->)**:
  • 方向:箭头指向的方向表示关系的方向。
  • 含义:表示关联关系(Association)。这是最基本的关系,表示一个类知道另一个类的存在。
  1. **虚线箭头 (..>..->)**:
  • 方向:箭头指向的方向表示关系的方向。
  • 含义:表示依赖关系(Dependency)。依赖关系表示一个类使用了另一个类,例如在方法参数中使用了某个类。
  1. **实线三角箭头 (--|>-|>)**:
  • 方向:三角箭头指向的方向表示继承关系的方向。
  • 含义:表示继承关系(Generalization)。用于表示一个类继承自另一个类(父类或接口)。
  1. **虚线三角箭头 (..|>..|>)**:
  • 方向:三角箭头指向的方向表示实现关系的方向。
  • 含义:表示实现关系(Realization)。通常用于表示类实现了某个接口。
  1. **实线菱形箭头 (--*-*)**:
  • 方向:菱形指向的方向表示聚合关系的方向。
  • 含义:表示聚合关系(Aggregation)。聚合关系表明一个类包含另一个类,但两者的生命周期是独立的。例如,班级包含学生,但学生的生命周期与班级无关。
  1. **实心菱形箭头 (--o-o)**:
  • 方向:实心菱形指向的方向表示组合关系的方向。
  • 含义:表示组合关系(Composition)。组合关系表明一个类包含另一个类,并且被包含类的生命周期依赖于容器类的生命周期。例如,房间包含墙壁,房间消失后墙壁也不复存在。

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

参考文献

Author

Shaojie Tan

Posted on

2024-09-01

Updated on

2025-01-30

Licensed under