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

相关推荐
on the way 1236 小时前
结构性设计模式之Flyweight(享元)
java·设计模式·享元模式
暴躁哥10 小时前
深入理解设计模式之访问者模式
设计模式·访问者模式
佩奇的技术笔记11 小时前
从Java的JDK源码中学设计模式之装饰器模式
java·设计模式·装饰器模式
on the way 12311 小时前
结构型设计模式之Proxy(代理)
设计模式·代理模式
先做个垃圾出来………11 小时前
RESTful设计规范(状态码、幂等性)
后端·restful·设计规范
YGGP14 小时前
【结构型模式】装饰器模式
设计模式
将编程培养成爱好16 小时前
《复制粘贴的奇迹:小明的原型工厂》
c++·设计模式·原型模式
liang_jy16 小时前
设计模式中的几大原则
设计模式·面试
huangyujun992012319 小时前
设计模式杂谈-模板设计模式
java·设计模式
magic 24519 小时前
Java设计模式:责任链模式
java·设计模式·责任链模式