码迷,mamicode.com
首页 > 其他好文 > 详细

SimUDuck 策略模式

时间:2014-12-01 06:37:06      阅读:275      评论:0      收藏:0      [点我收藏+]

标签:simuduck 策略模式

bubuko.com,布布扣

添加一个 FlySuperDuck.java implement IFlyBehavior

在具体鸭子中可以拥有这种行为:

public ModelDuck()

{

this.flybehavior=newFlySuperDuck();

}


这样就可以实现给某种鸭子添加某种行为。

bubuko.com,布布扣

在具体鸭子中可以拥有这种行为:

public ModelDuck()

{

this.flybehavior=newFlySuperDuck();

}


这样就可以实现给某种鸭子添加某种行为

bubuko.com,布布扣

可以添加一种接口Ispeak,有一个speak方法。这样鸭子们就有了另一种行为speak()

父类中只需要添加一个speakbehavior,子类就可以有具体的实现。例如有一个DonaldSpeak实现了Ispeak接口,子类就可以拥有这个具体的行为n利用继承来提供Duck的行为,这会导致下列哪些缺点?nA.代码在多个子类中重复;

nB.运行时的行为不容易改变;

nE. 鸭子不能同时又飞又叫,不能有多继承;

nF.改变会牵一发而动全身,造成其他鸭子不想要的改变;

本文出自 “Vincent” 博客,请务必保留此出处http://vincent1992.blog.51cto.com/4621739/1584889

SimUDuck 策略模式

标签:simuduck 策略模式

原文地址:http://vincent1992.blog.51cto.com/4621739/1584889

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!