策略模式的java样例实现(以鸭子为例)
来源:互联网 发布:aes256加密算法 java 编辑:程序博客网 时间:2024/06/05 14:56
最近学习了策略模式,看到了一篇非常好的博客,学习了一下并写了一个简单的代码。
博客地址:http://www.cnblogs.com/justinw/archive/2007/02/06/641414.html
代码如下:
Fly接口:
package com.strategy;public interface FlyBehavior {public void fly();}
package com.strategy;public class FlywithWings implements FlyBehavior{public void fly(){System.out.println("fly with wings.");}}
package com.strategy;public class FlynoWay implements FlyBehavior {public void fly(){System.out.println("fly no way.");}}
鸭子类:
package com.strategy;public class Duck {FlyBehavior fb;public void setFlayperform(FlyBehavior fb){this.fb = fb;}public void display(){System.out.println("Duck");}public void Flyperform(){fb.fly();}}
package com.strategy;public class LarryDuck extends Duck{ public LarryDuck(){ this.setFlayperform(new FlywithWings()); }public void display(){System.out.println("larry duck");}}
package com.strategy;public class PageDuck extends Duck{public PageDuck() {this.setFlayperform(new FlynoWay());;}public void display(){System.out.println("larry duck");}}
测试:
package com.strategy;public class Main {public static void main(String[] args){Duck larryduck = new LarryDuck();larryduck.Flyperform();Duck pageduck = new PageDuck();pageduck.Flyperform();}}
0 0
- 策略模式的java样例实现(以鸭子为例)
- 策略模式-鸭子的变化
- 策略模式-鸭子的变化
- 鸭子-策略模式(Strategy)
- 鸭子-策略模式(Strategy)
- 鸭子-策略模式(Strategy)
- 鸭子-策略模式(Strategy)
- 鸭子-策略模式(Strategy)
- 鸭子-策略模式(Strategy)
- 鸭子-策略模式(Strategy)
- 鸭子-策略模式(Strategy)
- 鸭子-策略模式(Strategy)
- 鸭子-策略模式(Strategy)
- 鸭子-策略模式(Strategy)
- 鸭子-策略模式(Strategy)
- 鸭子-策略模式(Strategy)
- 策略模式(Strategy Pattern)(二):HeadFirst中鸭子的实现
- 鸭子模式引出的策略模式
- wifi使用的一些误区
- Linux下C多文件编译Makefile
- 第十一周项目2-4个数的最大公约数
- 高性能JavaScript异步加载
- mipi 调试经验
- 策略模式的java样例实现(以鸭子为例)
- 关于批处理中的变量
- 【POJ3272】Cow Traffic 拓扑DP
- Maven学习历程
- Fildder调试
- linux下查看进程的位置
- 定位:利用百度地图定位架包实现简单定位
- 2014-11-6Android学习------在手机上用鼠标绘图的处理---贝塞尔曲线(一)
- 地产电子烟花企业纷纷跨界 40家公司试水P2P风险未卜