6.7 继承的利弊与使用原则.docxVIP

  • 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

文档评论(0)

1亿VIP精品文档

相关文档