UML类图各种箭头的含义
UML 9种图:https://blog.csdn.net/2201_75798871/article/details/144849958
·
一、核心箭头类型及含义
1. 关联关系(Association)
- 样式:实线箭头(双向关联可省略箭头,单向关联需标注箭头方向)。
- 含义:类之间的普通联系,体现 “有” 的关系,如 “学生有课程”。
- 特点:关系相对稳定,通常是长期存在的关联。
2. 依赖关系(Dependency)
- 样式:虚线箭头(箭头指向被依赖的类)。
- 含义:一个类临时使用另一个类,体现 “使用” 关系,如 “司机使用汽车”。
- 特点:关系短暂、动态,被依赖类变化会影响依赖类。
3. 继承关系(Generalization)
- 样式:实线空心三角箭头(箭头指向父类)。
- 含义:子类继承父类的属性和方法,体现 “is a” 关系,如 “学生是人类”。
- 特点:子类可扩展或重写父类内容,是类之间的纵向关系。
4. 实现关系(Realization)
- 样式:虚线空心三角箭头(箭头指向接口)。
- 含义:类实现接口的方法,体现 “实现” 关系,如 “学生实现学习接口”。
- 特点:接口定义规范,实现类必须满足接口的方法要求。
5. 聚合关系(Aggregation)
- 样式:实线空心菱形箭头(菱形指向整体类,另一端连接部分类)。
- 含义:整体包含部分,部分可独立于整体存在,体现 “整体 - 部分” 的松散关系,如 “班级包含学生”。
- 特点:部分可属于多个整体,整体销毁后部分仍可存在。
6. 组合关系(Composition)
- 样式:实线实心菱形箭头(菱形指向整体类,另一端连接部分类)。
- 含义:整体包含部分,部分不能独立于整体存在,体现 “整体 - 部分” 的紧密关系,如 “人包含心脏”。
- 特点:部分与整体同生命周期,整体销毁则部分也销毁。
二、关键区分要点
- 继承 vs 实现:均用三角箭头,继承是 “实线”(类 - 类),实现是 “虚线”(类 - 接口)。
- 聚合 vs 组合:均用菱形箭头,聚合是 “空心菱形”(松散),组合是 “实心菱形”(紧密)。
- 关联 vs 依赖:关联是 “实线”(长期稳定),依赖是 “虚线”(临时使用)。
三、UML 类图箭头速记表
| 关系类型 | 箭头样式描述(示意图) | 核心含义 | 典型示例 |
|---|---|---|---|
| 关联(Association) | 一条实线,末端带普通箭头(单向);或仅一条实线(双向,无箭头)。例:ClassA ———→ ClassB | 类之间的常规联系 | 学生 - 课程(学生选择课程) |
| 依赖(Dependency) | 一条虚线,末端带普通箭头(箭头指向被依赖类)。例:ClassA ----→ ClassB | 一个类临时使用另一个类 | 司机 - 汽车(司机驾驶汽车) |
| 继承(Generalization) | 一条实线,末端带空心三角形箭头(箭头指向父类)。例:SubClass ———▷ SuperClass | 子类继承父类 | 学生 - 人(学生是人) |
| 实现(Realization) | 一条虚线,末端带空心三角形箭头(箭头指向接口)。例:ClassA ----▷ InterfaceB | 类实现接口的方法 | 学生 - 学习接口(学生实现学习) |
| 聚合(Aggregation) | 一条实线,一端是空心菱形(连接整体类),另一端是普通箭头(连接部分类)。例:WholeClass ◇———→ PartClass | 整体包含部分,部分可独立 | 班级 - 学生(班级包含学生) |
| 组合(Composition) | 一条实线,一端是实心菱形(连接整体类),另一端是普通箭头(连接部分类)。例:WholeClass ◆———→ PartClass | 整体包含部分,部分不可独立 | 人 - 心脏(人包含心脏) |
UML 9种图:https://blog.csdn.net/2201_75798871/article/details/144849958
更多推荐



所有评论(0)