2015-java-第5章接口与多态重点.pptVIP

  • 21
  • 0
  • 约1.64万字
  • 约 98页
  • 2016-09-24 发布于湖北
  • 举报
2015-java-第5章接口与多态重点

新需求来啦,有些鸭子会飞,请模拟出这个行为! * 难不倒我!我只需要在D u c k 类中加上fly()方法,然后所有鸭子都会继承fly()。 瞧瞧这设计怎么样: * 似乎合理,可是,这就意味着:各种不同的鸭子都能fly,与事实不符! 如何改进?子类中重写fly方法和quack方法 * 似乎合理,可是,这就意味着:以后如果有新类型的鸭子加入,如果它们不能fly或者quack,每次就得重写fly或者quack 方法! 不能这样!现在,需要想想办法,使得只有部分类型的鸭子能fly或者quack。 怎么做呢?--先试试使用接口。定义两个接口Flyable和Quackable,能fly的鸭子就实现Flyable接口,能qucak的就实现Quackable接口 * 看上去还不错!可是,这就意味着:每个实现接口的类要书写自己的fly和quack,无法重用代码,即使多个duck有同样的fly和quack行为!代码的无法重用带来维护的困难!   到底该怎么做?   设计高手,求助! * 需要知道的设计原则:识别设计中容易变化的部分,将变化部分与稳定的部分分离,并将变化的部分进行封装。这样将来你可以扩展和改变变化的部分,而不会对稳定部分造成影响。 * 可是,变化的部分放到哪里?如何对其进行封装呢? 在Duck APP中,鸭子可能会quack和fly,也可能不会。这就是容易

文档评论(0)

1亿VIP精品文档

相关文档