java设计模式(精通系列)-策略模式(Strategy)
来源:互联网 发布:斧王攻略知乎 编辑:程序博客网 时间:2024/05/18 17:44
策略模式:更改不同的策略
public class App { public static void main(String[] args) { DragonSlayer dragonSlayer=new DragonSlayer(new MeleeStrategy()); dragonSlayer.goToBattle(); System.out.println("红龙出现"); dragonSlayer.changeStrategy(new ProjectileStratety()); dragonSlayer.goToBattle(); System.out.println("黑龙出现在你身边"); dragonSlayer.changeStrategy(new SpellStrategy()); dragonSlayer.goToBattle(); }}
public class DragonSlayer { private DragonSlayingStrategy strategy; public DragonSlayer(DragonSlayingStrategy strategy){ this.strategy=strategy; } public void changeStrategy(DragonSlayingStrategy strategy){ this.strategy=strategy; } public void goToBattle(){ strategy.execute(); }}
public interface DragonSlayingStrategy { void execute();}
public class MeleeStrategy implements DragonSlayingStrategy{ @Override public void execute() { System.out.println("拿着宝剑去屠龙"); }}
public class ProjectileStratety implements DragonSlayingStrategy{ @Override public void execute() { System.out.println("你杀死了巨龙"); }}
public class SpellStrategy implements DragonSlayingStrategy{ @Override public void execute() { System.out.println("使用了魔法使龙蒸发"); }}
结果如下:
拿着宝剑去屠龙
红龙出现
你杀死了巨龙
黑龙出现在你身边
使用了魔法使龙蒸发
阅读全文
0 0
- java设计模式(精通系列)-策略模式(Strategy)
- Java 设计模式--策略(Strategy)
- Java设计模式-----Strategy策略模式
- java设计模式---Strategy Pattern---策略模式
- Java设计模式-----Strategy策略模式
- java设计模式:策略模式(Strategy)
- java 设计模式--策略模式(strategy)
- java设计模式之策略模式 Strategy
- JAVA设计模式—策略模式(Strategy)
- Java设计模式十: 策略模式(Strategy)
- 【Java设计模式】(2)策略模式Strategy
- Java设计模式----策略模式(Strategy)
- Java设计模式:策略模式 Strategy
- Java设计模式之--策略模式(strategy)
- java中设计模式-Strategy(策略模式)
- java设计模式之 strategy策略模式
- Java设计模式--策略模式【Strategy Pattern】
- 实战设计模式系列-Strategy(策略)
- 064 不定积分之分部积分法 case 1-6 总结
- 春招准备日记day01
- 如何开发创建并玩转属于自己区块链的数字货币
- 属性动画_
- ios-FMDB多线程的使用技巧
- java设计模式(精通系列)-策略模式(Strategy)
- TabLayout横向滑动菜单code
- 实现简单登录注册
- [线段树][简单复杂度分析]LOJ#6029. 「雅礼集训 2017 Day1」市场
- okhttp封装_
- 摇骰子(随机数)2种方法
- 漏洞利用的细节
- IBM Ponder This May 2017 Letter gaps
- AI challenger 场景分类 PyTorch 测试代码