一、核心箭头类型及含义

1. 关联关系(Association)
  • 样式:实线箭头(双向关联可省略箭头,单向关联需标注箭头方向)。
  • 含义:类之间的普通联系,体现 “有” 的关系,如 “学生有课程”。
  • 特点:关系相对稳定,通常是长期存在的关联。
2. 依赖关系(Dependency)
  • 样式:虚线箭头(箭头指向被依赖的类)。
  • 含义:一个类临时使用另一个类,体现 “使用” 关系,如 “司机使用汽车”。
  • 特点:关系短暂、动态,被依赖类变化会影响依赖类。
3. 继承关系(Generalization)
  • 样式:实线空心三角箭头(箭头指向父类)。
  • 含义:子类继承父类的属性和方法,体现 “is a” 关系,如 “学生是人类”。
  • 特点:子类可扩展或重写父类内容,是类之间的纵向关系。
4. 实现关系(Realization)
  • 样式:虚线空心三角箭头(箭头指向接口)。
  • 含义:类实现接口的方法,体现 “实现” 关系,如 “学生实现学习接口”。
  • 特点:接口定义规范,实现类必须满足接口的方法要求。
5. 聚合关系(Aggregation)
  • 样式:实线空心菱形箭头(菱形指向整体类,另一端连接部分类)。
  • 含义:整体包含部分,部分可独立于整体存在,体现 “整体 - 部分” 的松散关系,如 “班级包含学生”。
  • 特点:部分可属于多个整体,整体销毁后部分仍可存在。
6. 组合关系(Composition)
  • 样式:实线实心菱形箭头(菱形指向整体类,另一端连接部分类)。
  • 含义:整体包含部分,部分不能独立于整体存在,体现 “整体 - 部分” 的紧密关系,如 “人包含心脏”。
  • 特点:部分与整体同生命周期,整体销毁则部分也销毁。

二、关键区分要点

  1. 继承 vs 实现:均用三角箭头,继承是 “实线”(类 - 类),实现是 “虚线”(类 - 接口)。
  2. 聚合 vs 组合:均用菱形箭头,聚合是 “空心菱形”(松散),组合是 “实心菱形”(紧密)。
  3. 关联 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

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐