文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

java策略模式如何实现

2023-06-19 09:36

关注

本篇内容介绍了“java策略模式如何实现”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

 刘备要到江东娶老婆了,走之前诸葛亮给赵云(伴郎)三个锦囊妙计,说是按天机拆开解决棘手问题,

嘿,还别说,真是解决了大问题,搞到最后是周瑜陪了夫人又折兵呀,那咱们先看看这个场景是什么样子的。

 先说这个场景中的要素:三个妙计,一个锦囊,一个赵云,妙计是小亮同志给的,妙计是放置在锦囊里,俗称就是锦囊妙计嘛,那赵云就是一个干活的人,从锦囊中取出妙计,执行,然后获胜,用 JAVA 程序怎么表现这个呢?我们先看类图:

三个妙计是同一类型的东东,那咱就写个接口:package com.cbf4life.strategy;*首先定一个策略接口,这是诸葛亮老人家给赵云的三个锦囊妙计的接口**/public interface IStrategy {//每个锦囊妙计都是一个可执行的算法public void operate();}
然后再写三个实现类,有三个妙计嘛:package com.cbf4life.strategy;public class BackDoor implements IStrategy {    public void operate() {       System.out.println("找乔国老帮忙,让吴国太给孙权施加压力");    }}package com.cbf4life.strategy;public class GivenGreenLight implements IStrategy {     public void operate() {     System.out.println("求吴国太开个绿灯,放行!");     }}package com.cbf4life.strategy;public class BlockEnemy implements IStrategy {      public void operate() {         System.out.println("孙夫人断后,挡住追兵");      }}
好了,大家看看,三个妙计是有了,那需要有个地方放这些妙计呀,放锦囊呀:package com.cbf4life.strategy;public class Context {//构造函数,你要使用那个妙计     private IStrategy straegy;     public Context(IStrategy strategy){        this.straegy = strategy;     }    //使用计谋了,看我出招了    public void operate(){        this.straegy.operate();     }}

然后就是赵云雄赳赳的揣着三个锦囊,拉着已步入老年行列的、还想着娶纯情少女的、色迷迷的刘老爷子去入赘了,嗨,还别说,小亮的三个妙计还真是不错,瞅瞅:

package com.cbf4life.strategy;public class ZhaoYun {public static void main(String[] args) {       Context context;       //刚刚到吴国的时候拆第       System.out.println("-----------刚刚到吴国的时候拆第一个-------------");            context = new Context(new BackDoor()); //拿到妙计       context.operate();//拆开执行       System.out.println("\n\n\n\n\n\n\n\n");      //刘备乐不思蜀了,拆第二个了       System.out.println("-----------刘备乐不思蜀了,拆第二个了-------------");
      context = new Context(new GivenGreenLight()); context.operate();
      //执行了第二个锦囊了
      System.out.println("\n\n\n\n\n\n\n\n");      //孙权的小兵追了,咋办?拆第三个       System.out.println("-----------孙权的小兵追了,咋办?拆第三个-------------");       context = new Context(new BlockEnemy());       context.operate();//孙夫人退兵        System.out.println("\n\n\n\n\n\n\n\n");            }}

“java策略模式如何实现”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯