在C++程序设计设计类时,用到其他类的属性或者方法要明白是用组合还是继承。组合即是has a,该类拥有哪些属性或者方法;继承即是is a,该类拥有父类的属性或者方法。
这里举一个例子,假如有一个父类汽车,当有轿车、卡车、面包车等类似的实体时,此时应该选择继承,即派生类拥有父类汽车的属性或者方法;当有发动机、车门、车窗等和汽车相关的属性时,就应选择组合。
总之,选择组合还是继承,就是要看是否需要新类向上映射。如果是的话,就选择继承,如果不需要,就应选择组合。
C++设计模式之组合与继承
本文探讨了C++程序设计中组合与继承的选择原则。通过实例说明何时使用继承来扩展类的功能,何时采用组合来引入新特性。强调了新类是否需要向上映射是选择继承还是组合的关键。
在C++程序设计设计类时,用到其他类的属性或者方法要明白是用组合还是继承。组合即是has a,该类拥有哪些属性或者方法;继承即是is a,该类拥有父类的属性或者方法。
这里举一个例子,假如有一个父类汽车,当有轿车、卡车、面包车等类似的实体时,此时应该选择继承,即派生类拥有父类汽车的属性或者方法;当有发动机、车门、车窗等和汽车相关的属性时,就应选择组合。
总之,选择组合还是继承,就是要看是否需要新类向上映射。如果是的话,就选择继承,如果不需要,就应选择组合。
420
1593
1506

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