• 类名
  • 属性名
  • 方法名

属性或方法前面的符号,+ 表示public;- 表示private; # 表示protected; ~ 表示 default,只有同一个包中的类才能访问
静态方法或者静态属性用下划线

抽象类

同 类 的格式是一样的,只不过类名需要用斜体,抽象方法也用斜体

接口

  • 接口名
  • 方法名

其中接口名要用两行,首行固定为<<interface>>,第二行为接口名

类与类之间的继承关系

  • 空心三角实线,指向父类

类与接口的实现关系

  • 空心三角虚线,指向接口

聚合

聚合(Aggregation)表示一种弱的拥有关系,体现的是A对象可以包含B对象,但B对象不是A对象的一部分。

  • 空心的菱形实线箭头,指向A

关联

当类A知道另一个类B时,可以用关联(association),是一种拥有的关系;eg:A 中使用了 B; A 中生成了 B; A 向 B 发送消息等都算关联

  • 实线箭头,指向B

比较常见的一种UML 图中,经常是聚合与关联同时有的,A 和 B 之间,空心菱形指向 A,实线箭头指向 B

组合

组合(Composition)是一种强的拥有关系,体现了严格的部分B和整体A的关系,部分B和整体A的生命周期一样。

  • 实心的菱形实线箭头,指向A

依赖

依赖关系(Dependency),是一种使用关系。多用于局部变量,方法的参数或者对静态方法的调用。要避免双向依赖。

  • 虚线箭头,指向所依赖的类

连接线的注释说明

有时候在一个类图中光有上面的元素,依然无法清楚的说明类之间的关系,因此可以在连接线上,再伸出一根虚线到旁边,并附带一个折掉右上角的矩形,在该矩形中,添加相关说明

  • 虚线 + 折掉右上角的矩形