类
- 类名
- 属性名
- 方法名
属性或方法前面的符号,
+
表示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),是一种使用关系。多用于局部变量,方法的参数或者对静态方法的调用。要避免双向依赖。
- 虚线箭头,指向所依赖的类
连接线的注释说明
有时候在一个类图中光有上面的元素,依然无法清楚的说明类之间的关系,因此可以在连接线上,再伸出一根虚线到旁边,并附带一个折掉右上角的矩形,在该矩形中,添加相关说明
- 虚线 + 折掉右上角的矩形