首页
登录
从业资格
某灯具厂商欲生产一个灯具遥控器,该遥控器具有7个可编程的插槽,每个插槽都有开关灯
某灯具厂商欲生产一个灯具遥控器,该遥控器具有7个可编程的插槽,每个插槽都有开关灯
练习题库
2022-08-02
4
问题
某灯具厂商欲生产一个灯具遥控器,该遥控器具有7个可编程的插槽,每个插槽都有开关灯具的开关,现采用Command(命令)模式实现该遥控器的软件部分。Command模式的类图如图6-1所示。
【Java代码】class Light{public Light( ){}public Light(String name){/*代码省略*/}public void on( ){/*代码省略*/}//开灯public void off( ){/*代码省略*/}//关灯//其余代码省略}(1){public void execute( );}class LightOnCommand implements Command{//开灯命令Light light;public LightOnCommand(Light light){this.light=light;}public void execute( ){(2);}}class LightOffCommand implements Command{//关灯命令Light light;public LightOffCommand(Light light){this.light=light;}public void execute( ){(3);}}class RemoteControl{//遥控器Command[]onCommands=new Command[7];Command[]offCommands=new Command[7];public RemoteControl( ){/*代码省略*/}public void setCommand(int slot,Command onCommand,Command offCommand){(4)=onCommand;(5)=offCommand;}public void onButtonWasPushed(int slot){(6);}public void offlButtonWasPushed(int slot){(7);}}class RemoteLoader{public static void main(String[]args){RemoteControl remoteControl=new RemoteControl( );Light livingRoomLight=new Light("Living Room");Light kitchenLight=new Light("kitchen");LightOnCommand livingRoomLightOn=new LightOnCommand(livingRoomLight);LightOffCommand livingRoomLightOff=new LightOffCommand(livingRoomLight);LightOnCommand kitchenLightOn=new LightOnCommand(kitchenLight);LightOffCommand kitchenLightOff=new LightOffCommand(kitchenLight);remoteControl.setCommand(0,livingRoomLightOn,livingRoomLightOff);remoteControl.setCommand(1,kitchenLightOn,kitchenLightOff);remoteControl.onButtonWasPushed(0);remoteControl.offButtonWasPushed(0);remoteControl.onButtonWasPushed(1);remoteControl.offButtonWasPushed(1);}}
选项
答案
解析
(1)interface Command
(2)light.on()
(3)light.off()
(4)onCommands[slot]
(5)offCommands[slot]
(6)onCommands[slot].execute()
(7)offCommands[slot].execute()
本题考察设计模式的实现,难度较小。根据类图和已有代码可写出空缺的代码.
(1)是Command接口的实现,应该填写interface Command;
(2)和(3)定义了开灯、关灯action,因此,分别填写(2)light->on()(3)light->off();
(4)(5)分别设置“开灯”命令对象、“关灯”命令对象,因此分别填写(4)onCommands[slot](5)offCommands[slot];
(6)(7)分别完成对开灯、关灯命令对象的execute方法的调用,因此分别填写(6)onCommands[slot].execute()
(7)offCommands[slot].execute()。
转载请注明原文地址:https://tihaiku.com/congyezige/2409647.html
本试题收录于:
中级 软件设计师题库软件水平考试初中高级分类
中级 软件设计师
软件水平考试初中高级
相关试题推荐
()是针对重复性的技术事项而制定的标准,是从事生产、建设及商品流通时需要共同遵
( )和(请作答此空)是商业秘密的基本内容A.生产秘密 B.营销秘密 C.技
某系统中有一个缓冲区,进程P1不断地生产产品送入缓冲区,进程P2不断地从缓冲区中
某企业的生产流水线上有2名工人P1和P2,1名检验员P3.P1将初步加工的半成
某企业的生产流水线上有2名工人P1和P2,1名检验员P3。P1将初步加工的半成品
某企业生产流水线M共有两位生产者,生产者甲不断地将其工序上加工的半成品放入半成品
某企业生产流水线M共有两位生产者,生产者甲不断地将其工序上加工的半成品放入半成品
某企业生产流水线M共有两位生产者,生产者甲不断地将其工序上加工的半成品放入半成品
某企业有生产部和销售部,生产部负责生产产品并送入仓库,销售部从仓库取出产品销售。
某企业有生产部和销售部,生产部负责生产产品并送入仓库,销售部从仓库取出产品销售。
随机试题
ENDANGEREDSPECIESAlthoughwecannotdoanythingabouttheplantsandanimalst
Peopleliveingroups,whichwecallsocieties,andsocialrelationsarethe
Arhetoricianwhospendssomuchofhistimestudyingthefamous______oflogici
Theprofessor’sclassroommannerwasquite______,neverrevealingthewarmthand
A.quiteB.mountainousC.disadvantagesD.byE.deservedF.compareG.
Forthispart,youareallowed30minutestowriteashortessayentitledTheAv
明清北京紫禁城是按照( )的规则设计建造的。A.《园冶》 B.《清工程工部做
2013年1月1日,甲公司与乙公司签订资产转让合同。合同约定,甲公司将其办公楼以
甲(男.19周岁)纠集乙(男,15周岁)、丙(男,17周岁)实施盗窃。在甲、乙破
挣值法的三个成本值不包括()。A.已完成工作的预算成本 B.已完成工作的实际
最新回复
(
0
)