软件设计-策略模式

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

相关推荐

  • 仔细近义词,仔细的近义词是什么仔细的近义词

    技术仔细近义词,仔细的近义词是什么仔细的近义词“仔细”的近义词仔细近义词:细心、谨慎、周密、注意、认真一、细心[ xì xīn ]用心细密:~人。~照料。造句:1. 财会工作要特别细心,以免出现差错。2. 在妈妈的细心照

    生活 2021年10月20日
  • SQL Server数据库mdf文件中了勒索病毒的解决方法是什么

    技术SQL Server数据库mdf文件中了勒索病毒的解决方法是什么这篇文章主要介绍“SQL Server数据库mdf文件中了勒索病毒的解决方法是什么”,在日常操作中,相信很多人在SQL Server数据库mdf文件中了

    攻略 2021年11月8日
  • 解析Java对象引用与JVM自动内存管理

    技术解析Java对象引用与JVM自动内存管理 解析Java对象引用与JVM自动内存管理对象引用应用程序设计接口是JDKTM1.2中新定义的。该应用程序设计接口允许应用程序以对象引用的方式与JVM的内存管

    礼包 2021年11月1日
  • ios性能优化与调试(ios 性能优化和内存优化)

    技术iOS如何实现图形性能优化这篇文章将为大家详细讲解有关iOS如何实现图形性能优化,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。引言当一个产品渐渐成熟,我们便开始重视产品性能的优化。

    攻略 2021年12月24日
  • 2021.46 人工智能之父

    技术2021.46 人工智能之父 2021.46 人工智能之父说起人工智能之父,很多人会想到图灵,但你用bing搜索,会发现它默认是马文·明斯基,第一个获得图灵奖的人工智能学者。马文·明斯基(1927年

    礼包 2021年11月22日
  • openjdk11和oraclejdk11的区别(oracle jdk 和open jdk差别大吗)

    技术Oracle,Open JDK等四大JVM性能对比的示例分析这篇文章将为大家详细讲解有关Oracle,Open JDK等四大JVM性能对比的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后

    攻略 2021年12月17日