导航
您当前的位置:首页 > 计算机 > 软件水平
问题:

[问答题] 某灯具厂商欲生产一个灯具遥控器,该遥控器具有7个可编程的插槽,每个插槽都有开关灯具的开关,现采用Command(命令)模式实现该遥控器的软件部分。Command模式的类图如图6-1所示。中级软件设计师,历年真题,2014年下半年(下午)《软件设计师》真题【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);}}
答案解析:

相关问题
关于我们 | 用户指南 | 版权声明 | 给我留言 | 联系我们 | 积分商城 | 答案求助 | 网站地图
Copyright © 2024 www.daanwo.com All Rights Reserved