你再也不会忘记 OOPS 关系
发布: (2026年4月4日 GMT+8 04:42)
3 分钟阅读
原文: Dev.to
Source: Dev.to
OOP 关系概览
理解四种基本的面向对象关系是构建稳固系统和面试成功的关键。
Association(uses)
- 定义: 两个对象之间有关联,但可以独立存在。
- 示例: 老师教学生。
- 记忆技巧: “Association → uses.”
Aggregation(has – weak)
- 定义: 一个对象包含另一个对象,但被包含的对象可以独立存在。
- 示例: 即使删除了一个团队,队员仍然存在。
- 记忆技巧: “Aggregation → has (weak).”
- 关键问题: 子对象能否在没有父对象的情况下存在? → YES → Aggregation。
Composition(has – strong)
- 定义: 一个对象完全拥有另一个对象;当父对象被销毁时,子对象也随之销毁。
- 示例: 拆除房子 → 房间也不存在了。
- 记忆技巧: “Composition → has (strong).”
- 关键问题: 子对象能否在没有父对象的情况下存在? → NO → Composition。
Inheritance(is‑a)
- 定义: 一个类从另一个类继承属性和行为。
- 示例: 狗拥有所有通用动物的特征。
- 记忆技巧: “Inheritance → is.”
- 关键问题: 它是 “is‑a” 关系吗? → YES → Inheritance。
快速决策指南
| Relationship | Question | Answer |
|---|---|---|
| Aggregation | 子对象能否在没有父对象的情况下存在? | YES |
| Composition | 子对象能否在没有父对象的情况下存在? | NO |
| Inheritance | 它是 “is‑a” 关系吗? | YES |
| Association | 其他情况 | Association |
面试更看重概念的清晰表达,而不是死记硬背。现在掌握这些 OOP 关系,你将在今天的面试以及明天的理想工作中拥有坚实的优势。 🚀