当前位置: 首页 > article >正文

软件工程(八):UML类图的几种关系

依赖(Dependency)

  • 定义:一个类使用到了另一个类(例如作为参数、局部变量等)。
  • 表示虚线箭头,箭头指向被依赖的类。
  • 关键词usesdepends on
  • 示例:类 A 的某个方法使用类 B 作为参数或返回值。
A -------▷ B
(虚线箭头)

关联(Association)

  • 定义:类与类之间的一种结构关系,表示一个类知道另一个类,通常以成员变量的形式存在。
  • 表示实线连接,可加上箭头表示导航方向。
  • 可选信息:多重性(1、0…1、*)、角色名、可见性。
  • 示例:学生类与班级类之间的关系。
Student ──────── Class1           1..*

聚合(Aggregation)

  • 定义:一种特殊的关联,表示“整体-部分”关系,部分可以独立于整体存在。
  • 表示空心菱形指向整体。
  • 示例:班级聚合多个学生,学生可独立存在。
Class ◇───────── Student

组合(Composition)

  • 定义:比聚合更强的“整体-部分”关系,部分不能独立存在,生命周期与整体相同。
  • 表示实心菱形指向整体。
  • 示例:人由心脏、肝脏等组成,器官不能脱离人体单独存在。
Person ◆───────── Heart

继承 / 泛化(Generalization)

  • 定义:子类继承父类的属性和方法,是一种“is-a”关系。
  • 表示空心三角形箭头指向父类。
  • 示例:猫继承自动物。
Cat ─────────▷ Animal(空心三角形)

实现(Realization)

  • 定义:类实现接口,是一种“can do”关系。
  • 表示虚线+空心三角形箭头指向接口。
  • 示例:类实现接口 Runnable。
MyClass - - -▷ Runnable
(虚线+三角)

总结

关系表示方式含义/语义典型示例
依赖虚线箭头临时使用方法参数、返回值
关联实线拥有成员引用学生与班级
聚合空心菱形+实线整体与部分,可独立存在班级和学生
组合实心菱形+实线整体与部分,生命周期一致人与器官
泛化实线+空心三角箭头继承,是一种“是”关系动物与猫
实现虚线+空心三角箭头接口实现Runnable 与 Thread 类
http://www.lryc.cn/news/2384817.html

相关文章:

  • python定时删除指定索引
  • 基于OAuth2-proxy和Keycloak为comfyui实现SSO
  • SmartSoftHelp 之 SQL Server 数据库安全备份与安全还原详解---深度优化版:SmartSoftHelp DeepCore XSuite
  • Spring 代理与 Redis 分布式锁冲突:一次锁释放异常的分析与解决
  • 【数据结构】队列的完整实现
  • 2025 全球优质 AI 产品深度测评:从通用工具到垂直领域的技术突围 —— 轻量聚合工具篇
  • Python爬虫实战:获取天气网最近一周北京的天气数据,为日常出行做参考
  • 根据YOLO数据集标签计算检测框内目标面积占比(YOLO7-10都适用)
  • Helm简介、安装、配置、使用!
  • LLM笔记(九)KV缓存(2)
  • 开发 前端搭建npm v11.4.0 is known not to run on Node.js v14.18.1.
  • LVS 负载均衡集群应用实战
  • MySQL——基本查询内置函数
  • Day34打卡 @浙大疏锦行
  • 【Jitsi Meet】(腾讯会议的平替)Docker安装Jitsi Meet指南-使用内网IP访问
  • AdGuard解锁高级版(Nightly)_v4.10.36 安卓去除手机APP广告
  • C++修炼:红黑树的模拟实现
  • 基于Python+YOLO模型的手势识别系统
  • 自制操作系统day10叠加处理
  • docker初学
  • ## Docker 中 Elasticsearch 启动失败:日志文件权限问题排查与解决
  • 鸿蒙Flutter实战:23-混合开发详解-3-源码模式引入
  • leetcode:2469. 温度转换(python3解法,数学相关算法题)
  • 【软件安装】Windows操作系统中安装mongodb数据库和mongo-shell工具
  • 跨域问题及其CORS解决方案:gin框架中配置跨域
  • 记共享元素动画导致的内存泄露
  • Flyweight(享元)设计模式 软考 享元 和 代理属于结构型设计模式
  • Win/Linux安装flash attention2
  • 【原创】ubuntu22.04下载编译AOSP 15
  • 服务器网络配置 netplan一个网口配置两个ip(双ip、辅助ip、别名IP别名)