当前位置:首页计算机类软件水平考试初级程序员->阅读下列说明和Java代码,回答问题,将解答填入答题纸的对应

阅读下列说明和Java代码,回答问题,将解答填入答题纸的对应栏内。

【说明】

某灯具厂商欲生产一个灯具遥控器,该遥控器具有7个可编程的插槽,每个插槽都有开关按钮,对应着一个不同的灯。利用该遥控器能够统一控制房间中该厂商所有品牌灯具的开关,现采用Command(命令)模式实现该遥控器的软件部分。Command模式的类图如下图所示。

初级程序员,章节练习,初级程序员押题

【Java代码】

【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()

更新时间:2022-10-08 07:57

你可能感兴趣的试题

单选题

中级软件设计师,章节练习,中级软件设计师系统开发运行知识

  • A.0
  • B.1
  • C.2
  • D.3
查看答案
单选题

中级软件设计师,章节练习,中级软件设计师系统开发运行知识

  • A.1、1
  • B.1、2
  • C.2、2
  • D.2、3
查看答案
单选题

中级软件设计师,章节练习,中级软件设计师系统开发运行知识

  • A.3
  • B.4
  • C.5
  • D.6
查看答案
单选题

中级软件设计师,章节练习,中级软件设计师系统开发运行知识

中级软件设计师,章节练习,中级软件设计师系统开发运行知识

  • A.V(S3)和V(S5)V(S6)
  • B.P(S3)和V(S5)V(S6)
  • C.V(S3)和P(S5)P(S6)
  • D.P(S3)和P(S5)P(S6)
查看答案
单选题

中级软件设计师,章节练习,中级软件设计师系统开发运行知识

  • A.243ms
  • B.246ms
  • C.254ms
  • D.280ms
查看答案
单选题

中级软件设计师,章节练习,中级软件设计师系统开发运行知识

中级软件设计师,章节练习,中级软件设计师系统开发运行知识

  • A.P (S6) 和 P (S7) V (S8)
  • B.V(S6)和V(S7)V(S8)
  • C.P(S6)和P(S7)P(S8)
  • D.V(S7)和P(S7)P(S8)
查看答案
问答题

中级软件设计师,章节练习,中级软件设计师计算机系统知识

中级软件设计师,章节练习,中级软件设计师计算机系统知识中级软件设计师,章节练习,中级软件设计师计算机系统知识

查看答案
单选题

中级软件设计师,章节练习,中级软件设计师计算机系统知识

  • A.A
  • B.B
  • C.C
  • D.D
查看答案
单选题

中级软件设计师,章节练习,中级软件设计师计算机系统知识

  • A.R
  • B.S
  • C.RS
  • D.R,S
查看答案
单选题

中级软件设计师,章节练习,中级软件设计师计算机系统知识

  • A.A,R.C,F,G
  • B.A,C,S.B,S.F
  • C.A,C,S.B,S.C
  • D.R.A,R.C,S.B,S.C
查看答案