UML 类图教程
目录
警告
本文最后更新于 2021-08-23,文中内容可能已过时。
类图是 UML 中面向对象系统建模中最常用和最重要的图,是定义其它图的基础。类图主要是用来显示系统中的类、接口以及它们之间的静态结构和关系的一种静态模型。
1.类图表示
classDiagram class Person { -name : String -age : int +getName() String +setName(name : String) void +getAge() int +setAge(age : int) void +work() void }
一个类的 UML 图表示为一个矩形框,分为三层:
- 类名
- 粗体居中
- 若为抽象类,类名和抽象方法用斜体表示
- 若为接口,类名上加
<<interface>>
,一般无属性
- 属性
- 可见性 + 属性名 + 类型
- 方法
- 可见性 + 方法名 + ( + 参数名 + 参数类型 + ) + 返回类型
可见性:
-
表示private
#
表示protected
- 空表示
package/default
+
表示public
2.关系表示
2.1 泛化(Generalization)
classDiagram Person <|-- Student
关系:继承非抽象类
表示:子类指向父类的实线空心三角箭头
2.2 实现(Realize)
classDiagram class Vehicle <> Vehicle Vehicle <|.. Car
关系:继承抽象类
表示:子类指向父类的虚线空心三角箭头
2.3 聚合(Aggregation)
classDiagram Car o-- Wheel
关系:成员对象是整体对象的属性,部分可独立存在,且可属于多个整体
表示:部分指向整体的实线空心菱形箭头
2.4 组合(Composition)
classDiagram Face *-- Eye
关系:成员对象是整体对象的属性,整体与部分密不可分
表示:部分指向整体的实线实心菱形箭头
2.5 关联(Association)
classDiagram Class <-- Student
关系:成员对象是整体对象的属性,一般表示一种平等关系
表示:部分指向整体的实线箭头
2.6 依赖(Dependency)
classDiagram Car <.. Driver
关系:依赖对象一般作为参数传入另一个对象
表示:对象指向依赖对象的虚线箭头