UML 学习

什么是 UML

面向对象的程序设计工具,独立于任何具体的程序语言

类图

关联关系

关联是一种拥有关系,具有方向性

  1. 单向关联,使用带箭头的实线表示,箭头指向被拥有方
  2. 双向关联,使用双向箭头或者不带箭头的实线表示

聚合关系

聚合关系表示整体与部分的关系,使用空心灵性带箭头的虚线表示,菱形指向整体,箭头方向指向个体

eg: 公交车与公交车队

组合关系

组合关系也表示整体与部分的关系,但是比聚合关系更为严格

使用实心菱形的箭头实线表示,菱形指向整体,箭头指向个体

组合关系和聚合关系有什么区别

  1. 组合需要两者有相同的生命周期
  2. 聚合是整体与个体的关系

泛化关系

表示泛化的元素与具体的元素之间的关系,可以理解为继承

用带三角箭头的实线表示,箭头指向父类

实现关系

表示类实现接口的关系

用带三角箭头的虚线表示,箭头指向接口

依赖关系

一个类修改后会影响到另一个类,这就是依赖关系,一般而言,依赖关系是单向的

用带箭头的虚线表示,箭头指向依赖者

关联关系和依赖关系的区别

  1. 依赖更多时候是作为参数传入
  2. 关联关系是一种拥有关系

时序图

组成元素

  1. 角色
  2. 对象
  3. 生命线
  4. 控制焦点,表示一段业务逻辑
  5. 消息
  6. 自关联消息
  7. 组合片段

举例

图中,client、server、device 为对象

箭头表示消息

虚线表示返回值

处理流程是控制焦点

相关推荐
通信小呆呆3 天前
当算法有了“五感”:多模态数据融合如何向人体感官协同学习?
人工智能·学习·算法·机器学习·机器人
H__Rick3 天前
自动对焦学习-3
人工智能·学习·计算机视觉
Daisy Lee3 天前
量化学习-第1章-什么是量化金融
学习·金融·datawhale
Alsn863 天前
等待学习-学习目录:Docker 容器安全攻防
学习·安全·docker
YM52e3 天前
买菜计算器小应用 - HarmonyOS ArkUI 开发实战-PC版本
学习·华为·harmonyos·鸿蒙·鸿蒙系统
小雨下雨的雨3 天前
HarmonyOS ArkUI训练营入门-组件掌握系列-Animation 动画效果实现-PC版本
学习·华为·harmonyos·鸿蒙
cqbzcsq3 天前
CellFlow虚拟细胞论文阅读
论文阅读·人工智能·笔记·学习·生物信息
YangYang9YangYan4 天前
2026初入职场学习数据分析的价值
学习·数据挖掘·数据分析
guslegend4 天前
理论学习:什么是 Coding Agent?
学习
自传.4 天前
尚硅谷 Vibe Coding|第三章(1) Claude Code深度使用与进阶技巧 学习笔记
笔记·学习·尚硅谷·vibecoding