25.4 继承的原则
a)继承是为了扩展性,组合是为了代码重用
b)尽量使用纯虚类,既其中无属性,仅仅提供接口等
c)多继承的替代方式:the "bridge" pattern or nested generalization
25.5诠释以上三大原则
三种方式各有优缺点:
桥模式:共有n+m个子类,增加了代码的重用,但是如果
1.n×m的组合方式算法各不相同,则维护工作量巨大
2.不能随意组合,例如例子中的脚踩的太空飞船,需要增加额外检查
3. users cannot pass any gas powered vehicle as a GasPoweredVehicle,没有比较好的类层次结构
多层次嵌套继承:
1.可以有多种算法
2.任意增加一种类层次,相应的需要扩展很多类,但是限制了不合理类的使用,例如脚踏太空飞船
3.同样存在以上3中的缺点