为什么继承是OOP的四大原则之一,而不是组合?

为什么继承是OOP的四大原则之一,而不是组合?,oop,inheritance,composition,Oop,Inheritance,Composition,如何组合是一个比继承更小的原则级别?一个总是要考虑组成>继承> ,但是在四个主要的OOP原则中没有提到构图< /强>。这背后的原因是什么?它们不是在同一个层次吗?与继承相比,构图是一个较低层次和更古老的概念;它来自于分析-综合方法,该方法基本上说明事物要么由其他事物组成,要么由琐碎(原子)组成。它最早是在古希腊引入的,作为理解事物的一般方法 组合不是面向对象的,例如,在纯C语言中,它远不是面向对象的,结构是使用组合编写的,同样在函数编程中,函数是由其他函数组成的,尽管在这两个例子中,合成的性质完

如何组合是一个比继承更小的原则级别?一个总是要考虑<强>组成<强>>继承> <强>,但是在四个主要的OOP原则中没有提到<强>构图< /强>。这背后的原因是什么?它们不是在同一个层次吗?

与继承相比,构图是一个较低层次和更古老的概念;它来自于分析-综合方法,该方法基本上说明事物要么由其他事物组成,要么由琐碎(原子)组成。它最早是在古希腊引入的,作为理解事物的一般方法


组合不是面向对象的,例如,在纯C语言中,它远不是面向对象的,结构是使用组合编写的,同样在函数编程中,函数是由其他函数组成的,尽管在这两个例子中,合成的性质完全不同。合成是一个较低的层次,是一个比继承更古老的概念;它来自于分析-综合方法,该方法基本上说明事物要么由其他事物组成,要么由琐碎(原子)组成。它最早是在古希腊引入的,作为理解事物的一般方法


组合不是面向对象的,例如,在纯C语言中,它远不是面向对象的,结构是使用组合编写的,同样在函数编程中,函数是由其他函数组成的,尽管在这两个例子中,组合的性质完全不同。

虽然组合是一种做事的方式,但它不是OOP引入的概念。组合是OOP原则的结果(有一个对象)。是的,重要性/相关性相同。但OOP并不真正依赖于它,组合也不真正依赖于OOP。它们很好地结合在一起。OOP严重依赖于组合>没有组合没有复杂的数据类型或对象关联。组合是OOP设计原则的先决条件。在OOP之前,组合就已经存在了。此外,没有层次,“四大原则”在谈论面向对象时具有可争论的实用性。这个概念的发明者说OO只涉及“消息传递和极端的后期绑定”。没有提到四项原则。可以设想一种没有继承性的OO语言。你的核心问题是“为什么这是人类的概念?”。答案应该是,这是人们在讨论OO时发现有用的一组新兴概念。尽管组合是一种做事的方式,但它不是OOP引入的概念。组合是OOP原则的结果(有一个对象)。是的,重要性/相关性相同。但OOP并不真正依赖于它,组合也不真正依赖于OOP。它们很好地结合在一起。OOP严重依赖于组合>没有组合没有复杂的数据类型或对象关联。组合是OOP设计原则的先决条件。在OOP之前,组合就已经存在了。此外,没有层次,“四大原则”在谈论面向对象时具有可争论的实用性。这个概念的发明者说OO只涉及“消息传递和极端的后期绑定”。没有提到四项原则。可以设想一种没有继承性的OO语言。你的核心问题是“为什么这是人类的概念?”。答案应该是,这是一组新兴的概念,人们在讨论OO时发现它们很有用。