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

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

【说明】

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

初级程序员,押题密卷,2021年程序员押题密卷2

【Java代码】

class Light { public Light() {} public Light(String name) { /* 代码省略 */ } public void on() { /* 代码省略 */ } // 开灯 public void off() { /* 代码省略 */ } // 关灯 // 其余代码省略} (1) { public void execute();} class LightOnCommandimplements Command { // 开灯命令 Light light; public LightOnCommand(Light light) {this.light=light; } public void execute() { (2) ; }}class LightOffCommandimplements 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, CommandonCommand, 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=newRemoteControl(); Light livingRoomLight=newLight("Living Room"); Light kitchenLight=newLight("kitchen"); LightOnCommand livingRoomLightOn=newLightOnCommand(livingRoomLight); LightOffCommand livingRoomLightOff=newLightOffCommand(livingRoomLight); LightOnCommand kitchenLightOn=newLightOnCommand(kitchenLight); LightOffCommand kitchenLightOff=newLightOffCommand(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()

更新时间:2021-12-12 05:22

包含此试题的试卷

你可能感兴趣的试题

单选题

(  )is the process of transforming information so it is unintelligible to anyone but the intended recipient.

  • A.Encryption
  • B.Decryption
  • C.Security
  • D.Protection
查看答案
单选题

As each application module is completed,it undergoes(  )to ensure that it operates correctly and reliably.

  • A.unit testing
  • B.integration testing
  • C.system testing
  • D.acceptance testing
查看答案
单选题

(  )algorithm specifies the way to arrange data in a particular order.

  • A.Search
  • B.Random
  • C.Sorting
  • D.Merge
查看答案
单选题

After analyzing the source code,(  )generates machine instructions that will carry out the meaning of the program at a later time.

  • A.an interpreter
  • B.a linker
  • C.a compiler
  • D.a converter
查看答案
单选题

(  )can help organizations to better understand the information contained within the data and will also help identify the data that is most important to the business and future business decisions.

  • A.Data processing system
  • B.Big Data analytics
  • C.Cloud computing
  • D.Database management
查看答案
单选题

浏览器开启无痕浏览模式后,(  )依然会被保存下来。

  • A.浏览历史
  • B.搜索历史
  • C.已下载文件
  • D.临时文件
查看答案
单选题

下列协议中,不属于TCP/IP协议簇的是(  )。

  • A.CSMA/CD
  • B.IP
  • C.TCP
  • D.UDP
查看答案
单选题

下列传输介质中,带宽最宽、抗干扰能力最强的是(  )。

  • A.双绞线
  • B.红外线
  • C.同轴电缆
  • D.光纤
查看答案
单选题

数控编程常需要用参数来描述需要加工的零件的图形。在平面坐标系内,确定一个点需要2个独立的参数,确定一个正方形需要(  )个独立的参数。

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

某书的页码为1,2,3,...,共用数字900个(一个多位数页码包含多个数字),据此可以推断,该书最大的页码为(  )。

  • A.237
  • B.336
  • C.711
  • D.900
查看答案