关于何时用继承何时用组合

没有找到极其强烈无法辩驳的用继承的原因的时候一律用组合
 
组合体现为实现层面,继承主要体现在扩展方面
我觉得如果并不是需要一个类的所有东西(包括接口和属性),那么就不需要用继承,相反就用组合。
用继承那就必须是所有的都继承,不是所有的都继承,那么就是滥用继承。
 
组合在编译依赖和不同版本的运行时兼容性上优于继承;继承在合理复用实现的潜力优于组合
 
继承偏重集体,具有特殊性的集体(派生类)可以看作是一般性集体(基类)的一部分,如汽车对于交通工具。
组合偏重个体,某个功能对象被宿主对象看成自己的一部分,如轮子对于汽车。
与看待事物的角度有关,继承偏抽象,组合偏具体。
 
posted @ 2015-07-16 11:28  风沙星辰  阅读(976)  评论(0编辑  收藏  举报