专业软件设计师网站|培训机构|服务商(加客服微信:cnitpm或QQ:800184589进软件设计师学霸群)

软题库 培训课程
当前位置:信管网 >> 软件设计师 >> 每日一练 >> 文章内容
软件设计师案例分析每日一练试题(2021/8/27)
来源:信管网 2021年08月28日 【所有评论 分享到微信

软件设计师案例分析当天每日一练试题地址:www.cnitpm.com/exam/ExamDayAL.aspx?t1=4

往期软件设计师每日一练试题汇总:www.cnitpm.com/class/27/e4_1.html

软件设计师案例分析每日一练试题(2021/8/27)在线测试:www.cnitpm.com/exam/ExamDayAL.aspx?t1=4&day=2021/8/27

点击查看:更多软件设计师习题与指导

软件设计师案例分析每日一练试题内容(2021/8/27)

阅读下列说明和Java代码,将应填入 (n) 处的字句写在答题纸的对应栏内。
【说明】
    某灯具厂商欲生产一个灯具遥控器,该遥控器具有7个可编程的插槽,每个插槽都有开关灯具的开关,现采用Command(命令)模式实现该遥控器的软件部分。Command模式的类图如图1-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);
  }
}
信管网试题答案与解析:www.cnitpm.com/st/3815027966.html

信管网考友试题答案分享:

信管网试题答案与解析:www.cnitpm.com/st/3815027966.html
扫码关注公众号

温馨提示:因考试政策、内容不断变化与调整,信管网网站提供的以上信息仅供参考,如有异议,请以权威部门公布的内容为准!

信管网致力于为广大信管从业人员、爱好者、大学生提供专业、高质量的课程和服务,解决其考试证书、技能提升和就业的需求。

信管网软考课程由信管网依托10年专业软考教研倾力打造,官方教材参编作者和资深讲师坐镇,通过深研历年考试出题规律与考试大纲,深挖核心知识与高频考点,为学员考试保驾护航。面授、直播&录播,多种班型灵活学习,满足不同学员考证需求,降低课程学习难度,使学习效果事半功倍。

相关内容

发表评论  查看完整评论  

推荐文章