- 2
- 0
- 约7.62千字
- 约 15页
- 2017-06-06 发布于湖北
- 举报
6.7 继承的利弊和使用原则
继承是一种提高程序代码的可重用性,以及提高系统的可扩展性的有效手段。在第1章的1.3.7节(继承、扩展、覆盖)曾经以Servlet为例,演示了继承在创建框架类软件中的运用。但是,如果继承树非常复杂,或者随便扩展本来不是专门为继承而设计的类,反而会削弱系统的可扩展性和可维护性。
6.7.1 继承树的层次不可太多
继承树(不考虑顶层的Object类)的层次应该尽量保持在两到三层。图6-5和图6-6分别显示了设计合理的继承树和设计不合理的继承树。如果继承树的层次很多,会导致以下弊端:
(1)对象模型的结构太复杂,难以理解,增加了设计和开发的难度。继承树底层的子类会继承上层所有直接父类或间接父类的方法和属性,假如子类和父类之间还有频繁的方法覆盖和属性被屏蔽的现象,那么会增加运用多态机制的难度,难以预计在运行时方法和属性到底和哪个类绑定。
(2)影响系统的可扩展性。继承树的层次越多,在继承树上增加一个新的继承分支需要创建的类越多。
图6-5 设计合理的三层继承树
图6-6 设计不合理的六层继承树
6.7.2 继承树的上层为抽象层
当一个系统使用一棵继承树上的类时,应该尽可能地把引用变量声明为继承树的上层类型,这可以提高两个系统之间的松耦合。例如动物饲养员Feeder的feed()方法,它的参数为Animal和Food类型:
feed(Animal anim
您可能关注的文档
最近下载
- 2024年高频高危漏洞清单(3).docx VIP
- 二龙山水电站增效扩容改造项目-初步设计报告.doc VIP
- 桑墟水电站增效扩容改造初步设计报告书.doc VIP
- 企业安环部各岗位职责.pdf VIP
- 2024年工勤考试收银审核员(高级技师)考试题(含答案).pdf VIP
- 财务报表分析概论张新民.pptx VIP
- 【2025年】上海市公安机关辅警招聘[面试]复习题及答案.docx VIP
- 2024《色氨酸生产中的热量衡算及设备选型综述》3400字.docx VIP
- 《DLT 1215.2-2013链式静止同步补偿器 第2部分:换流链的试验》专题研究报告.pptx VIP
- 2025年铜仁学院专升本护理题目及答案.doc VIP
原创力文档

文档评论(0)