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

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

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

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

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

体现:子类继承父类。

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

实现关系(Realization):

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

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

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

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

组合关系(Composition):

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

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

体现:成员变量。

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

聚合关系(Aggregation):

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

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

体现:成员变量。

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

关联关系(Association):

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

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

体现:成员变量。

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

依赖关系(Dependency):

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

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

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

符号:一条虚线+箭头。

相关推荐
星夜离尘563 小时前
MATLAB 因果采样保持:用历史匹配和数据年龄防止未来信息泄漏
数据结构·算法·matlab
思麟呀3 小时前
BTree的原理与 C++ 完整实现
c语言·数据结构·c++·算法·1024程序员节
黄俊懿3 小时前
【架构师从入门到进阶】第七章:缓存和存储的优化思路——第一节:缓存概述
数据结构·数据库·分布式·缓存·架构·系统架构·1024程序员节
晒太羊的猫5 小时前
hot100 堆
数据结构
啵啵啵鱼5 小时前
用 Claude Code 重构遗留系统:从评估到落地的完整实践
数据结构·1024程序员节
如何原谅奋力过但无声5 小时前
【LeetCode hot100】代码随想录未cover部分
数据结构·算法·leetcode
长不大的杨瑞杰5 小时前
OpenCode v2 CI 与自动化实战:无交互运行、权限收口与制品闭环
运维·人工智能·ci/cd·自动化·软件工程·1024程序员节
H.莓飛5 小时前
【数据结构】排序_OJ题(二):划分与选择
linux·服务器·c语言·开发语言·数据结构·visual studio
iCxhust5 小时前
如何实时同步自己的工作日志,在不同的设备间
前端·软件工程·1024程序员节·同步日志
番茄味城市甜菜6 小时前
数据结构:单链表(C语言)
数据结构·链表·1024程序员节