Not found extremely strongly irrefutable use of the reasons for inheritance all use the combination of composition embodied as the implementation level, the inheritance is mainly embodied in the extension aspect I think if you do not need a class of all things (including interfaces and attributes), then you do not need to use the inheritance, instead of the combination. With inheritance that must be all inherited, not all inherited, then abuse of inheritance. The combination is better than inheritance in compiling dependencies and different versions of run-time compatibility; the potential of inheritance in the rational reuse is superior to the collective inheritance, and the special Collective (derived class) can be regarded as part of a general collective (base class), such as a vehicle for transportation. A feature object is considered a part of a host object, such as a wheel for a car. With regard to the perspective of things, inheritance of the partial abstraction, the combination of partial specific.
About when to use inheritance when combining