UML中类之间的六种主要关系

UML中类之间的六种主要关系: 继承(泛化)(Inheritance、Generalization), 实现(Realization),关联(Association),聚合(Aggregation),组合(Composition),依赖(Dependency)。

继承关系(泛化关系)(Inheritance):

描述:继承关系表示一个类派生自另一个类,继承关系用一条带空三角箭头的实线表示。子类继承了父类的属性和方法,并可以添加新的属性和方法。

示例:动物类继承自生物类,具备生物的属性和方法,并可以添加动物独有的属性和方法。

体现:子类继承父类。

符号:一条实线+空心箭头。

实现关系(Realization):

描述:实现关系表示一个类实现了一个接口,通常用一条带空三角箭头的虚线表示。接口定义了一组方法,而类实现了这些方法。

示例:一个类实现了图形接口,必须实现接口中定义的绘制图形的方法。

体现:实现接口或继承某个抽象类。

符号:一条虚线+空心箭头。

组合关系(Composition):

描述:组合关系也是整体与部分之间的关系,但在组合关系中,整体对象负责创建和管理部分对象的生命周期。它通常用一条带实心菱形的实线表示。

示例:计算机与CPU之间的组合关系,计算机包含CPU,且CPU的生命周期由计算机管理。

体现:成员变量。

符号:一条实线+实心菱形。

聚合关系(Aggregation):

描述:聚合关系是一种特殊的关联关系,表示整体与部分之间的关系,其中整体对象包含部分对象。它通常用一条带空心菱形的实线表示。

示例:车辆与引擎之间的聚合关系,车辆包含引擎,但引擎也可以存在独立于车辆。

体现:成员变量。

符号:一条实线+空心菱形。

关联关系(Association):

描述:关联关系表示类之间的连接,通常用一条实线连接类之间的名称。它指示两个类之间存在某种关联,但不提供关于关联性质的详细信息。

示例:学生与课程之间的关联,一个学生可以选择多门课程,一门课程也可以有多名学生。

体现:成员变量。

符号:双向关联: 一条实线 或 一条实线+两个箭头;单向关联: 一条实线+一个箭头。

依赖关系(Dependency):

描述:依赖关系表示一个类依赖于另一个类,通常在一个类中使用另一个类的对象或方法。它通常用一条虚线箭头连接依赖者和被依赖者。

示例:一个订单类依赖于客户类以获取客户信息。

体现:局部变量、方法的参数和静态方法的调用。

符号:一条虚线+箭头。

相关推荐
千千寰宇1 分钟前
[数据库系统] 数据库系统的设计原理研究
数据结构·数据库·database-opengemini/influxdb·database-dament/达梦
抓到一只狗2 分钟前
系统分析师——统一建模语言
软件工程·uml·类图·用例图·系统分析师·顺序图·高级软考
殷色玫瑰1 小时前
C++ STL:map 与 set 详解——从底层红黑树到实际应用
c语言·数据结构·c++·算法·visualstudio·rpc
字节跳动的猫1 小时前
LikeShop 商品评价体系二开:追评、晒图审核与评价标签筛选功能开发
运维·数据结构·数据库
All for pursuit.3 小时前
【动态规划-8】152.乘积最大子数组
数据结构·c++·算法·leetcode·动态规划
信奥卷王3 小时前
[GESP202512 六级] 路径覆盖
数据结构·算法
INGNIGHT3 小时前
1861 · 老鼠跳跃(坐标型dp)
数据结构·c++
0+1113 小时前
算法 --归并排序
数据结构·算法·排序算法
字节跳动的猫4 小时前
LikeShop 种草社区模块二开:笔记发布、话题广场与商品挂载实现
数据结构·数据库
一棵树73514 小时前
数据结构闲聊
数据结构·算法