首页 > 代码库 > SimUDuck 策略模式
SimUDuck 策略模式
添加一个 FlySuperDuck.java implement IFlyBehavior
在具体鸭子中可以拥有这种行为:
public ModelDuck()
{
this.flybehavior=newFlySuperDuck();
}
这样就可以实现给某种鸭子添加某种行为。
在具体鸭子中可以拥有这种行为:
public ModelDuck()
{
this.flybehavior=newFlySuperDuck();
}
这样就可以实现给某种鸭子添加某种行为
可以添加一种接口Ispeak,有一个speak方法。这样鸭子们就有了另一种行为speak()。
父类中只需要添加一个speakbehavior,子类就可以有具体的实现。例如有一个DonaldSpeak实现了Ispeak接口,子类就可以拥有这个具体的行为n利用继承来提供Duck的行为,这会导致下列哪些缺点?nA.代码在多个子类中重复;
nB.运行时的行为不容易改变;
nE. 鸭子不能同时又飞又叫,不能有多继承;
nF.改变会牵一发而动全身,造成其他鸭子不想要的改变;
本文出自 “Vincent” 博客,请务必保留此出处http://vincent1992.blog.51cto.com/4621739/1584889
SimUDuck 策略模式
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。