软件设计-策略模式

技术软件设计-策略模式 软件设计-策略模式旅行方式的选择旅游的出行方式有乘坐飞机旅行、乘火车旅行和自行车游,不同的旅游方式有不同的实现过程,客户可以根据自己的需要选择一种合适的旅行方式。类图Javapa

软件设计-策略模式

旅行方式的选择

旅游的出行方式有乘坐飞机旅行、乘火车旅行和自行车游,不同的旅游方式有不同的实现过程,客户可以根据自己的需要选择一种合适的旅行方式。

类图

Java 语言(一种计算机语言,尤用于创建网站)语言(一种计算机语言,尤用于创建网站)

包rjsj.no23

公共课骑自行车策略实施TravelStrategy{

@覆盖

公共空间旅行()

System.out.println('骑自行车旅游');

}

}

包rjsj.no23

公共类客户端{

公共静态void main(String[]参数){ 0

旅行者=新旅行者();

System.out.println('旅游开始!');

出行策略出行策略=新列车策略();

旅行者。settravelstrategy(travelStrategy);

旅行者。旅行();

系统。出去。println(* * * * * * * * * * * * * * * * * * * * * * * * *);

System.out.println('旅游开始!');

出行策略=新的AirPlanet策略();

旅行者。settravelstrategy(travelStrategy);

旅行者。旅行();

系统。出去。println(* * * * * * * * * * * * * * * * * * * * * * * * *);

System.out.println('旅游开始!');

出行策略=new dicyclestreatgy();

旅行者。settravelstrategy(travelStrategy);

旅行者。旅行();

系统。出去。println(* * * * * * * * * * * * * * * * * * * * * * * * *);

}

}

包rjsj.no23

公开课培训战略实施TravelStrategy{

@覆盖

公共空间旅行()

System.out.println('坐火车旅游');

}

}

包rjsj.no23

公共级旅行者{

私人旅行战略旅行战略;

公共空间设置旅行策略(TravelStrategy TravelStrategy){ 0

这个。出行策略=出行策略;

}

公共空间旅行()

旅行策略。旅行();

}

}

包rjsj.no23

公共界面TravelStrategy {

虚空旅行();

}

包rjsj.no23

公共类飞机战略实施TravelStrategy{

@覆盖

公共空间旅行()

System.out.println('乘坐飞机旅游');

}

}

C

#包括牡蛎

使用命名空间标准;

class TravelStrategy {

公众号:

虚空行程()=0;

};

人员类别{

私人:

TravelStrategy *战略;

公众号:

void setStrategy(旅行策略*策略){ 0

这个策略=策略;

}

无效行程(){ 0

这战略-旅行();

}

};

班级培训战略:公共旅行战略{

公众号:

无效行程(){ 0

cout '坐火车恩德尔

}

};

class DicycleStrategy :公共出行策略{

公众号:

无效行程(){ 0

cout '骑自行车恩德尔

}

};

飞机战略:级公共旅行策略{

公众号:

无效行程(){ 0

cout '坐飞机恩德尔

}

};

int main(){ 0

Person * pr=new Person();

cout '旅游开始,请选择交通工具:' endl

出行策略*策略=新列车策略();

pr-setStrategy(战略);

公关旅行();

cout ' * * * * * * * * * * * * * * * endl

cout '旅游开始,请选择交通工具:' endl

出行策略*策略2=new dicyclestreatgy();

pr-setStrategy(策略2);

公关旅行();

cout ' * * * * * * * * * * * * * * * endl

cout '旅游开始,请选择交通工具:' endl

出行策略*策略3=新AirPlanet策略();

pr-setStrategy(策略3);

公关旅行();

}

运行结果:

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/145043.html

(0)

相关推荐

  • Swagger3 学习笔记

    技术Swagger3 学习笔记 Swagger3 学习笔记Swagger3
    准备
    dependencygroupIdio.springfox/groupIdartifactIdspringfox-boo

    礼包 2021年12月10日
  • 5 个IDEA 必备插件是什么

    技术5 个IDEA 必备插件是什么本篇内容介绍了“5 个IDEA 必备插件是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有

    攻略 2021年11月2日
  • mariadb与mysql的区别是什么

    技术mariadb与mysql的区别是什么这篇文章主要讲解了“mariadb与mysql的区别是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“mariadb与mysq

    攻略 2021年12月2日
  • mysql中的语句注释方法有哪些

    技术mysql中的语句注释方法有哪些这篇文章给大家分享的是有关mysql中的语句注释方法有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。 mysql> SELE

    攻略 2021年11月1日
  • 隐藏IP地址有哪些好处

    技术隐藏IP地址有哪些好处本篇内容主要讲解“隐藏IP地址有哪些好处”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“隐藏IP地址有哪些好处”吧!  1、隐藏位置信息  隐藏您的I

    攻略 2021年11月19日
  • 面部不对称,人的脸不对称是怎么回事,

    技术面部不对称,人的脸不对称是怎么回事,颜面不对称是每个人都有的现象面部不对称,但是用肉眼看得出来的话不对称的程度就比较严重了。一般本人或他人的颜面不对称用肉眼是看不出来的,而且一般都是以每个人的脸是对称的成见看的,所以

    生活 2021年10月25日