- 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,也可能不会。这就是容易
您可能关注的文档
- 2015-2016高中物理第13章第4节实验:用双缝干涉测量光的波长课件新人教版选修3-4分析.ppt
- 2015-2016高中物理第13章光限时检测新人教版选修3-4分析.doc
- 2015-2016高中物理第16章第1节实验:探究碰撞中的不变量练习新人教版选修3-5分析.doc
- 2015-2016高中物理第七章第二节功课件新人教版必修2分析.ppt
- 2015-2016高中物理第13章第5节光的衍射课件新人教版选修3-4重点.ppt
- 2015-2016高中物理第二章电路章末过关检测卷粤教版选修3-1重点.doc
- 2015-3-30最新英美报刊选读Headline重点.ppt
- 2015-4-232.5对数运算重点.ppt
- 2015-特殊染色技术(学)重点.ppt
- 2015.06.17作物育种各论复习分析分析.docx
原创力文档

文档评论(0)