【发布时间】:2017-01-26 13:16:33
【问题描述】:
与继承相比,Composition如何是次要的原则级别?人们总是要考虑 Composition 而不是 Inheritance,但是在 OOP 的四大原则中却没有提到 Composition。这背后的原因是什么?他们不是一个级别的吗?
【问题讨论】:
-
虽然组合是一种做事方式,但它并不是OOP引入的概念。组合是 OOP 原则的结果(有一个对象)。
-
是的,相同级别的重要性/相关性。但是 OOP 并不真正依赖于它,组合也不真正依赖于 OOP。他们相处得很好..
-
OOP 严重依赖组合 > 没有组合,没有复杂的数据类型或对象关联。组合是 OOP 设计原则的先决条件。
-
组合在 OOP 之前就已经存在。此外,没有级别。
-
在谈到面向对象时,“四大原则”的实用性值得商榷。该概念的发明者说,OO 只涉及“消息传递和极晚绑定”。没有提到四个原则。可以设想一种不具有继承性的 OO 语言。你的问题的核心是“为什么这个人类概念是这样的?”。答案必须是,它是人们在讨论 OO 时发现有用的一组新兴概念。
标签: oop inheritance composition