策略模式
来源:互联网 发布:office for 破解mac 编辑:程序博客网 时间:2024/05/15 09:52
人物:张三,丈母娘
故事:张三这天去找老丈母娘摊牌,早就料到老丈母娘死活不同意,直接准会好三个策略应对,最后一个为中级策略!!!
要点:各策略要继承同一接口,需要一个额外类承载接口以便转换形态
1.策略接口
package org.senssic.startegy;public interface Startegy {public void justDo();}
2.三种策略实现类
package org.senssic.startegy;public class DoGetCar implements Startegy {@Overridepublic void justDo() {// TODO Auto-generated method stubSystem.out.println("拿出一个闪闪发光的小汽车");}}
package org.senssic.startegy;public class DoGetHourse implements Startegy {@Overridepublic void justDo() {// TODO Auto-generated method stubSystem.out.println("拿出一个大房子");}}
package org.senssic.startegy;public class DoXXOO implements Startegy {@Overridepublic void justDo() {System.out.println("生米已经煮成熟饭,我已经和你女儿xxoo啦 小外孙都有啦,哈哈哈");}}
3.把策略全部都放在身后,等会好直接拿出来对应
package org.senssic.startegy;public class JuseDo {private Startegy startegy;public JuseDo(Startegy startegy) {this.startegy = startegy;}public void justDo() {this.startegy.justDo();}}4.老丈母娘发难啦
package org.senssic.startegy;public class ZhangSan {public static void main(String[] args) {System.out.println("张三到丈母娘家里去说:'我要娶你女儿!!!" + "--->丈母娘说没车你凭啥娶'");// 张三直接从背后拿出来一个玩具车说”搁这里“JuseDo juseDo = new JuseDo(new DoGetCar());juseDo.justDo();System.out.println("丈母娘说没车你没房子'");// 张三拿出一个画好的房子juseDo = new JuseDo(new DoGetHourse());juseDo.justDo();System.out.println("丈母娘说没车你太丑,癞蛤蟆别吃天鹅肉啦'");// 张三狂笑不已juseDo = new JuseDo(new DoXXOO());juseDo.justDo();}}
终于还是赢取了白富美,想想心里还有些小激动呢
0 0
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- 策略模式
- 多继承
- 微博关系服务与Redis的故事
- URL或JS中的URL传参中文乱码
- Oracle数据库和session等待事件有关的几个视图
- USTC 1280 / 携程决赛1004 最短路径的代价
- 策略模式
- Cracking the coding interview--Q19.7
- JAVA调用存储过程实现分页技术。。
- hdu 4027 Can you answer these queries? 线段树
- webstorm插件使用
- POJ 1470 Closest Common Ancestors
- c语言的重要概念
- kettle使用命令行运行任务(转)
- java中Writer的线程安全性