软件设计-策略模式

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

相关推荐

  • 七年级上册数学计算题大全,七年级上册数学有理数计算题及答案

    技术七年级上册数学计算题大全,七年级上册数学有理数计算题及答案/tk/showsoft.asp?softid=78603这儿有 [-|98|+76+(-87)]*23[56+(-75)-(7)]-(8+4+3) 5+2

    生活 2021年10月25日
  • ASP.NET Core Kestrel如何部署HTTPS

    技术ASP.NET Core Kestrel如何部署HTTPSASP.NET Core Kestrel如何部署HTTPS,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来

    攻略 2021年11月12日
  • Python爬取世纪佳缘的数据是否能证明它不靠谱的示例分析

    技术Python爬取世纪佳缘的数据是否能证明它不靠谱的示例分析这期内容当中小编将会给大家带来有关Python爬取世纪佳缘的数据是否能证明它不靠谱的示例分析,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大

    攻略 2021年10月26日
  • 朴实,有人说农民勤劳朴实,是真的吗

    技术朴实,有人说农民勤劳朴实,是真的吗乡村农民,种田耕作,养家糊口,获得收入,非常勤劳。长时间勤劳幸苦,养成朴实性格,令农村有一种纯天然的美和令人留恋的道德。这是每一位中国人都能深深体会到和骄傲的。农民的勤劳朴实,令农村

    生活 2021年10月22日
  • 高抬腿的正确做法,胖子跑步上气不接下气怎么解决

    技术高抬腿的正确做法,胖子跑步上气不接下气怎么解决答:首先你要排除有没有心肺功能疾病高抬腿的正确做法?如果没有这方面的疾病的话,就在跑步的时候循序渐进,每天坚持跑,先跑个500米,然后加码,逐渐加上去,让你的身体逐渐适应

    生活 2021年10月25日
  • ELK安装是怎样的

    技术ELK安装是怎样的这篇文章给大家介绍ELK安装是怎样的,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。一:安装环境: 1. VMware Workstation Pro 15 下载及安装

    攻略 2021年10月20日