OOP 中的 组合、聚合和关联有什么区别?
What are the differences between composition, aggregation, and association in OOP?
题目类型: 技术面试题
这是一道技术面试题,常见于澳洲IT公司面试中。
难度: medium
分类: OOP
标签: Composition, Aggregation, Association
参考答案摘要
答案 如果两个对象彼此有关系,就说他们是彼此相关联的。组合和聚合是面向对象中的两种形式的关联。组合是一种比聚合更强力的关联。组合中,一个对象是另一个的拥有者,而聚合则是指一个对象使用另一个对象。如果对象 A 是由对象 B 组合的,则 A 不存在的话,B一定不存在,但是如果 A 对象聚合了一个对象 B,则即使 A 不存在了,B 也可以单独存在。
本题提供 STAR 原则详细解答和技术解析,登录匠人学院学习中心即可查看完整答案。