面向对象设计:类与类之间关系详解

该思维导图总结了类与类之间常见的六种关系:依赖、实现、聚集、组合、继承和关联。依赖关系体现为一个类的方法使用另一个类;实现关系体现为类实现接口;聚集和组合都是has-a关系,区别在于部分与整体的生命周期;继承关系是is-a关系,子类继承父类属性和方法;多态指同一操作在不同类中有不同实现;关联表示类间的语义联系。这些关系的理解有助于构建清晰、可维护的面向对象程序。

源码
# 面向对象设计
## 类与类之间的关系
### 依赖
- 定义
  - 一个类的方法使用另一个类
  - 临时性强
- 用途
  - 实现功能模块协作
  - 解耦降低复杂度
- 示例
  - 类A的方法调用类B的方法
### 实现
- 定义
  - 类实现接口规定的方法
  - 体现like_a关系
- 用途
  - 定义规范契约
  - 增强程序可替换性
- 示例
  - 类C实现接口D中的方法
### 聚集与组合
#### 聚集
- 定义
  - has_a关系
  - 部分可独立于整体
- 用途
  - 构建复杂对象
  - 便于资源管理与共享
- 示例
  - 班级与学生的关系
#### 组合
- 定义
  - has_a关系
  - 部分依赖整体
- 用途
  - 表达紧密关系
  - 保持生命周期一致
- 示例
  - 汽车与引擎的关系
### 继承
- 定义
  - is_a关系
  - 子类继承父类的属性与方法
- 用途
  - 减少冗余
  - 便于管理
  - 为多态奠基
- 示例
  - 猫类继承动物类
### 多态
- 定义
  - 同一操作在不同类中有不同实现
- 用途
  - 增加灵活性
  - 扩展性
  - 提高维护性
- 示例
  - 不同形状类计算面积
### 关联
- 定义
  - 类间的语义联系
  - 单向或双向
- 用途
  - 构建复杂关系网
  - 利于信息交互
- 示例
  - 订单与客户之间的关联
图片
面向对象设计:类与类之间关系详解