继承和组合的比较
来源:互联网 发布:mac自带的画图软件 编辑:程序博客网 时间:2024/05/16 06:36
继承是一种白箱复用,父类的内部细节对子类可见。
对象组合彼此不知道对方内部细节,成为黑箱复用。
继承的优缺点:
1) 子类可以直接重定义父类的操作。
2) 编译时刻决定了,无法在运行期间更改。
3) 子类要知道父类的实现细节,这样就部分破坏了封装性。子类和父类依赖过于紧密,父类的某些变化必然导致子类的变化。开发过程中遇到过类似的问题。这种依赖,限制了灵活性以及复用性。比如,服务体系中经常出现这样的问题,导致代码拷贝。
组合(通过获得对象的引用而在运行时刻动态的定义)的优缺点:
1) 对象间通过接口彼此交互。
2) 对象只能通过接口访问,不要也不能知道对方细节,这样不会破坏封装性。
3) 运行时刻可以使用另外一个对象替换这个对象,提高了灵活性。
4) 对象的实现基于接口编写,所以实现上存在较少的依赖关系。
5) 优先使用组合有助于保持每个类被封装,并被集中在单个任务上,提高整体内聚性。类和类的层次都维持一个较小的规模,
6) 基于对象组合的设计会有更多的对象(而又较少的类),且系统的行为依赖于对象间的关系而不是定义在某个类的内部。
理想的情况下,应该通过组合原有构件实现新的功能,而不是创建新的构件。
面向对象设计的第二个原则:优先使用对象组合,而不是类继承。
- 继承和组合的比较
- 继承和组合的比较
- 对C++中类的组合和继承的比较
- 面向对象编程中的继承和组合的简单比较
- 面向对象编程中的继承和组合的简单比较
- 面向对象编程中的继承和组合的简单比较
- 面向对象编程中的继承和组合的简单比较
- 实现类重用 继承和组合比较
- 关于继承与组合的比较
- 组合和继承的选择
- 继承和组合的区别
- 组合和继承的关系
- 接口的组合和继承
- java的组合和继承
- 继承和组合的分析
- 类的继承和组合
- 类的继承和组合
- 类的组合和继承
- 数据库知识
- MyEclipse连接Oracle数据库Cannot access NLS data files or invalid environment specified
- 2010.1.7监听器
- http 304优化,了解客户端缓存
- 长期坐在电脑前应注意
- 继承和组合的比较
- 收集的一些简单的UNIX/Linux面试题
- WINCE6 不能显示中文的问题,中文乱码,原因:选择了Raster Fonts Support(SYSGEN_GDI_RASTERFONT)
- 传智播客课程——JavaScript
- MFC技巧积累
- java相关
- c#绘制验证码
- 与加载页面
- JDBC连接MySQL数据库关键的四个步骤