已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验1:命令模式一、实验目的本实验要求学生掌握命令模式,要求学生理解命令模式中的四种角色并完成类的定义及测试。二、实验任务1 在军队作战中,指挥官请求三连偷袭敌人,但是指挥官不希望或无法直接与三连取得联系。使用命令模式分析有哪些类以及这些类的角色,完成这些类的定义并进行测试。接收者:Receiver类命令接口:Command类具体命令:ConcreteCommand类请求者: Invoker类import java.lang.*;class Receiverpublic void sneakAttack()System.out.println(I konw);interface Commandpublic abstract void execute();class ConcreteCommand implements CommandReceiver army;ConcreteCommand(Receiver army)this.army = army;public void execute()army.sneakAttack();class InvokerCommand command;public void setCommand(Command command)mand = command;public void startExecuteCommand()command.execute();public class Main public static void main(String args)Receiver thirdArmy = new Receiver();Command command = new ConcreteCommand(thirdArmy);Invoker superior = new Invoker();superior.setCommand(command);superior.startExecuteCommand();2 茱丽(Julia)不需要知道播音(play)、倒带(rewind)和停止 (stop)功能是怎么具体执行的,这些命令执行的细节全都由键盘(Keypad)具体实施。茱丽(Julia)只需要在键盘上按下相应的键便可以了。使用命令模式分析有哪些类以及这些类的角色,完成这些类的定义并进行测试。接收者:Play类 Stop类 Rewind类命令接口:KeypadCommand类具体命令:StopKeypadCommand类 PlayKeypadCommand类 RewindKeypadCommand类请求者:Julia类import java.lang.*;class Playpublic void play()System.out.println(This is Play);class Rewindpublic void rewind()System.out.println(This is Rewind);class Stoppublic void stop()System.out.println(This is Stop);interface KeypadCommandpublic abstract void execute();class PlayKeypadCommand implements KeypadCommandPlay play;PlayKeypadCommand(Play play)this.play = play;public void execute()play.play();class RewindKeypadCommand implements KeypadCommandRewind rewind;RewindKeypadCommand(Rewind rewind)this.rewind = rewind;public void execute()rewind.rewind();class StopKeypadCommand implements KeypadCommandStop stop;StopKeypadCommand(Stop stop)this.stop = stop;public void execute()stop.stop();class JuliaKeypadCommand command;public void setCommand(KeypadCommand command)mand = command;public void clickKeypad()command.execute();public class Main public static void main(String args)Julia julia = new Julia();KeypadCommand stopCommand = new StopKeypadCommand(new Stop();KeypadCommand playCommand = new PlayKeypadCommand(new Play();KeypadCommand rewindCommand = new RewindKeypadCommand(new Rewind();julia.setCommand(stopCommand);julia.clickKeypad();julia.setCommand(playCommand);julia.clickKeypad();julia.setCommand(rewindCommand);julia.clickKeypad();电视机遥控器:电视机是请求的接收者,遥控器是请求的发送者,遥控器上有一些按钮,不同的按钮对应电视机的不同操作。抽象命令角色由一个命令接口来扮演,有三个具体的命令类实现了抽象命令接口,这三个具体命令类分别代表三种操作:打开电视机、关闭电视机和切换频道。使用命令模式分析有哪些类以及这些类的角色,完成这些类的定义并进行测试。接收者:TV类命令接口:Command类具体命令:OnTvCommand类 OffTvCommand类 SwitchChannelCommand类请求者:RemoteControl类import java.lang.*;class TVpublic void on()System.out.println(This is Open TV);public void off()System.out.println(This is Close TV);public void switchChannel()System.out.println(This is Switch Channel);interface Commandpublic abstract void execute();class OnTvCommand implements CommandTV tv;OnTvCommand(TV tv)this.tv = tv;public void execute()tv.on();class OffTvCommand implements CommandTV tv;OffTvCommand(TV tv)this.tv = tv;public void execute()tv.off();class SwitchChannelCommand implements CommandTV tv;SwitchChannelCommand(TV tv)this.tv = tv;public void execute()tv.switchChannel();class RemoteControlCommand command;public void setCommand(Command command)mand = command;public void clickButton()command.execute();public class Main public static void main(String args)RemoteControl rc = new RemoteControl();TV myTv
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年长城保护修缮技术规范考核试卷
- 2025年建筑电工职业技能竞赛霍尔传感器安装与调试考核试卷
- 2025年新能源行业储能系统钠电池虚拟电厂协同优化考核试卷
- 2025年职业院校教师招聘《实训教学管理》行业实践管理考核试卷
- 2025年甘肃省天水市清水县黄门中心卫生院招聘编外工作人员考试笔试备考题库及答案解析
- 2025上海勘测设计研究院有限公司社会招聘2人(第二批)考试笔试参考题库附答案解析
- 2025上海交通大学医学院附属新华医院招聘50人(二)考试笔试模拟试题及答案解析
- 2025云南东骏药业集团招聘考试笔试参考题库附答案解析
- 2025年沛县卫生健康委员会公开招聘编制卫生专业技术人员26人笔试考试备考试题及答案解析
- 2025年湖南岳阳华容县县直机关事业单位选调15人考试笔试备考试题及答案解析
- 初中物理实验教学专题讲座
- 对外汉语教学的测试和评估教学课件
- 大脑的奥秘:神经科学导论学习通超星课后章节答案期末考试题库2023年
- 环境保护税课件
- 课本剧林教头风雪山神庙剧本
- 农业生态与环境保护教案
- NY 623-2002内蒙古白绒山羊
- 12YJ4-1 常用门窗标准图集
- 甲状腺微创消融治疗手术知情同意书
- 初中道德与法治人教九年级上册 文明与家园九年级道法导学案《构筑中国价值》
- 箱式变电站技术规格书
评论
0/150
提交评论