一、定义
类的组合:类中数据成员是另一个类的对象,该类是一个容器类;
类的继承:一个新类从已有的类那里获得其已有特性。
二、优缺点
类的组合:
优点:
1.“黑盒”复用,被包含的其他类中的具体实现是看不到的,只提供了接口;
2.封装性比较好,因为组合的其他类只提供接口;
3.依赖性较小,容器类类中组合的其他类对象独立完成一项功能,相互之间依赖关系较少;
4.通过适当的设置指针,可以在运行期间动态的关联类对象
缺点:
1.会产生建立很多对象,而且需要对这些对象必须进行初始化;
2.对象之间相互配合使用时,需要很仔细的调用对象接口。
类的继承:
优点:
1.容易对已有功能进行复用扩展;
2.容易进行新的实现;
缺点:
1.如果继承过多,很容易造成调用接口时出错;
2.封装性不好,基类的实现细节完全暴露,属于“白盒”操作;
3.从父类继承来的实现,在运行期间不能改变。
对比上面可知,如果需要使用很多类,而又不需要修改类的成员,则推荐使用类的组合;具体使用要根据具体情况,具体对待。 |