软件设计-策略模式

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

相关推荐

  • 设计模式-观察者模式(java)

    技术设计模式-观察者模式(java) 设计模式-观察者模式(java)当股票的价格上涨或下降5%时,会通知持有该股票的股民,当股民听到价格上涨的消息时会买股票,当价格下降时会大哭一场。
    类图public

    礼包 2021年11月20日
  • QT5常用模块有哪些

    技术QT5常用模块有哪些这篇文章主要为大家展示了“QT5常用模块有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“QT5常用模块有哪些”这篇文章吧。Qt 5 与 Qt 4

    攻略 2021年11月23日
  • HDFS的常用命令操作

    技术HDFS的常用命令操作 HDFS的常用命令操作HDFS的常用命令操作1、基本语法2、常用命令操作#######################1、基本语法bin/hadoop fs 具体命令或bin

    礼包 2021年12月3日
  • 玩游戏(game)

    技术玩游戏(game) 玩游戏(game)玩游戏(game)玩游戏(game)
    题目背景
    x 正在玩游戏。
    题目描述
    x 有一个长度为 \(n\) 的数列 \(a\),还有一个长度为 \(n\) 的数列

    礼包 2021年11月7日
  • 犬字旁的字有哪些字,带"犭"偏旁的字大多与什么有关

    技术犬字旁的字有哪些字,带"犭"偏旁的字大多与什么有关带“犭”偏旁的字大多与动物有关犬字旁的字有哪些字,如:猫、狗、猪。一、猫:māo máo 1.释义:[ māo ] (1)哺乳动物,面呈圆形,脚有利爪,行动敏捷

    生活 2021年10月21日
  • 怎么理解java图的对象化描述

    技术怎么理解java图的对象化描述这篇文章主要讲解了“怎么理解java图的对象化描述”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么理解java图的对象化描述”吧!一、

    攻略 2021年11月9日