UML一类图关系 (泛化、实现、依赖、关联、聚合、组合)

UML类图关系

1. 泛化(Generalization)
  • 定义:表示类之间的继承关系,子类继承父类的结构和行为。
  • 示例
    • 父类:Vehicle(交通工具)
    • 子类:Car(汽车),Bicycle(自行车)
    • 关系:CarBicycle都是Vehicle的具体形式。
2. 实现(Implementation)
  • 定义:表示类与接口之间的关系,类实现接口的方法。
  • 示例
    • 接口:Drivable(可驾驶的)
    • 类:Car
    • 关系:Car实现了Drivable接口。
3. 依赖(Dependency)
  • 定义 :表示一个类依赖于另一个类的定义,通常是因为它使用了另一个类的对象作为方法的参数、返回类型或创建对象
  • 示例
    • 类:Driver(驾驶员),Car
    • 关系:Driver类有一个方法drive(Car car),表示Driver依赖于Car
4. 关联(Association)
  • 定义:表示两个类之间的连接,它们在概念上相互关联。
  • 示例
    • 类:Student(学生),School(学校)
    • 关系:StudentSchool有关联关系,因为学生在学校学习。
5. 聚合(Aggregation)
  • 定义:是一种特殊的关联,表示整体和部分的关系,但部分可以脱离整体单独存在。
  • 示例
    • 整体:Classroom(教室)
    • 部分:Desk(桌子)
    • 关系:Classroom包含多个Desk,但Desk可以脱离Classroom单独存在。
6. 组合(Composition)
  • 定义:是一种更强的聚合关系,表示整体与部分的生命周期是一致的,部分不能脱离整体存在。
  • 示例
    • 整体:House(房子)
    • 部分:Room(房间)
    • 关系:House由多个Room组成,如果House被拆除,Room也将不复存在。

总结

UML类图中的关系有助于描述类与类之间的不同类型的关联。泛化关系描述了类的继承结构;实现关系用于类与接口之间;依赖关系表示一个类在某种程度上依赖另一个类;关联关系定义了类之间的链接;聚合和组合关系则描述了整体与部分之间的关系,区别在于部分是否能脱离整体存在。这些关系在设计软件系统时,对于理解和构建类之间的交互非常关键。

相关推荐
刀法孜然2 小时前
23种设计模式 3 行为型模式 之3.7 command 命令模式
设计模式·命令模式
一条闲鱼_mytube3 小时前
智能体设计模式(二)反思-工具使用-规划
网络·人工智能·设计模式
老蒋每日coding4 小时前
AI智能体设计模式系列(七)—— 多 Agent 协作模式
设计模式
小码过河.6 小时前
设计模式——代理模式
设计模式·代理模式
Engineer邓祥浩7 小时前
设计模式学习(14) 23-12 代理模式
学习·设计模式·代理模式
小码过河.7 小时前
设计模式——单例模式
单例模式·设计模式
dxnb227 小时前
Datawhale26年1月组队学习:Agentic AI+Task2反思设计模式
学习·设计模式
唐僧洗头爱飘柔95277 小时前
【软考:程序员(04)】如何考得程序员证书?本片知识点:常见的程序设计语言;语言的构成;前中后缀表达式类型余转换规则;程序语言中的传值与传址;
设计语言·程序设计语言·标记语言·前中后缀表达式·传值和传址调用·程序设计语言构成·程序员例题
老蒋每日coding7 小时前
AI智能体设计模式系列(八)—— 记忆管理模式
人工智能·设计模式·golang
Mr YiRan8 小时前
重学设计模式之拦截器和责任链
设计模式