继承和组合都是代码复用的方法。
组合是指在新类中创建原有类的对象,重复利用已有类的功能。
继承是面向对象的主要特征之一,它根据原有类的实现来定义一个新类的实现。
他们的主要区别在于:
1. 组合是 has -a 的关系,而继承是 is-a的关系。
那么实际使用时,什么时候使用组合呢?
1. 子类只希望继承父类的部分方法。避免造成系统的膨胀和臃肿。
2. 继承的子类的功能需要在运行期间才能确定下来。这时,使用组合比继承灵活的多。
本文探讨了面向对象编程中继承和组合两种代码复用方法的区别,重点介绍了组合的应用场景,包括子类只希望部分继承父类功能及运行时确定功能的情况。
继承和组合都是代码复用的方法。
组合是指在新类中创建原有类的对象,重复利用已有类的功能。
继承是面向对象的主要特征之一,它根据原有类的实现来定义一个新类的实现。
他们的主要区别在于:
1. 组合是 has -a 的关系,而继承是 is-a的关系。
那么实际使用时,什么时候使用组合呢?
1. 子类只希望继承父类的部分方法。避免造成系统的膨胀和臃肿。
2. 继承的子类的功能需要在运行期间才能确定下来。这时,使用组合比继承灵活的多。
2616
1643

被折叠的 条评论
为什么被折叠?