在组合与继承之间的选择

1、组合就是在新类中要使用现有类的功能;比如:Car是由Engine 、Wheel和Door等组装而成,此时可用组合;
2、继承使用某个现有类,并开发它的特殊版本,通常,意味着你在使用一个通用类,并为了某种需要而将其特殊化。而用一个“交通工具”对象来组成Car是没有意义的,因为车子并不包括交通工具,他仅仅是一中交通工具。
3、is-a表示继承的关系,has-a表示组合的关系
4、是否选择继承:首先考虑:  新类是否需要向基类进行向上转型,如需要向上转型,则必须选择继承。

你可能感兴趣的:(组合,继承)