继承与组合的优缺点
来源:互联网 发布:js string split 编辑:程序博客网 时间:2024/05/17 21:56
转自:http://www.cnblogs.com/liuling/archive/2013/05/01/3052715.html
类继承和对象组合是复用的两种最常用的技术。
一:继承
继承是Is a 的关系,比如说Student继承Person,则说明Student is a Person。继承的优点是子类可以重写父类的方法来方便地实现对父类的扩展。
继承的缺点有以下几点:
①:父类的内部细节对子类是可见的。
②:子类从父类继承的方法在编译时就确定下来了,所以无法在运行期间改变从父类继承的方法的行为。
③:如果对父类的方法做了修改的话(比如增加了一个参数),则子类的方法必须做出相应的修改。所以说子类与父类是一种高耦合,违背了面向对象思想。
二:组合
组合也就是设计类的时候把要组合的类的对象加入到该类中作为自己的成员变量。
组合的优点:
①:当前对象只能通过所包含的那个对象去调用其方法,所以所包含的对象的内部细节对当前对象时不可见的。
②:当前对象与包含的对象是一个低耦合关系,如果修改包含对象的类中代码不需要修改当前对象类的代码。
③:当前对象可以在运行时动态的绑定所包含的对象。可以通过set方法给所包含对象赋值。
组合的缺点:①:容易产生过多的对象。②:为了能组合多个对象,必须仔细对接口进行定义。
由此可见,组合比继承更具灵活性和稳定性,所以在设计的时候优先使用组合。只有当下列条件满足时才考虑使用继承:
- 子类是一种特殊的类型,而不只是父类的一个角色
- 子类的实例不需要变成另一个类的对象
- 子类扩展,而不是覆盖或者使父类的功能失效
0 0
- 继承与组合的优缺点
- 继承与组合的优缺点
- 继承与组合的优缺点
- 继承与组合的优缺点
- 详解继承与组合的优缺点
- 详解继承与组合的优缺点
- 组合、继承的优缺点
- 继承与组合优缺点浅析
- 继承与组合概念、区别及优缺点
- 继承与组合概念、区别及优缺点
- java继承和组合的优缺点
- 继承组合优缺点
- js继承,各种继承的优缺点(原型链继承,组合继承,寄生组合继承)
- 面向对象思想的头脑风暴(二)—— 详解继承与组合的优缺点
- 面向对象思想的头脑风暴(二)—— 详解继承与组合的优缺点
- 类的继承与组合
- 继承与组合的选择
- 类的继承与组合
- extern
- 跨平台开发学习笔记
- jquery.from使用说明2
- SharePoint表单和工作流 - Nintex篇(六)
- static修饰符分析
- 继承与组合的优缺点
- 商业银行个人客户价值指标体系
- HIVE Explain语法
- iOS申请真机调试证书-图文详解
- python2.× 编码问题
- IOS xcode5时代如何设置Architectures和Valid Architectures
- const用法详解
- QML与C++交互步骤简述
- relocation R_X86_64_32S against `a local symbol' can not be used when making a shared object; recomp