軟件設計師案例分析當天每日一練試題地址:m.xiexiliangjiufa.com/exam/ExamDayAL.aspx?t1=4
往期軟件設計師每日一練試題匯總:m.xiexiliangjiufa.com/class/27/e4_1.html
軟件設計師案例分析每日一練試題(2024/3/28)在線測試:m.xiexiliangjiufa.com/exam/ExamDayAL.aspx?t1=4&day=2024/3/28
點擊查看:更多軟件設計師習題與指導
軟件設計師案例分析每日一練試題內(nèi)容(2024/3/28)
試題:5
閱讀下列說明和C++代碼,將應填入 (n) 處的字句寫在答題紙的對應欄內(nèi)。
【說明】
某燈具廠商欲生產(chǎn)一個燈具遙控器,該遙控器具有7個可編程的插槽,每個插槽都有開關按鈕,對應著一個不同的燈。利用該遙控器能夠統(tǒng)一控制房間中該廠商所有品牌燈具的開關,現(xiàn)采用Command(命令)模式實現(xiàn)該遙控器的軟件部分。Command模式的類圖如圖1-1所示。
圖1-1 Command模式類圖
【C++代碼】
class Light {
public:
Light(string name) { /* 代碼省略 */ }
void on() { /* 代碼省略 */ } // 開燈
void off() { /* 代碼省略 */ } // 關燈
};
class Command {
public:
(1) ;
};
class LightOnCommand:public Command { // 開燈命令
private:
Light* light;
public:
LightOnCommand(Light* light) { this->light=light; }
void execute() { (2) ; }
};
class LightOffCommand:public Command { // 關燈命令
private:
Light *light;
public:
LightOffCommand(Light* light) { this->light=light; }
void execute() { (3) ; }
};
class RemoteControl{ // 遙控器
private:
Command* onCommands[7];
Command* offCommands[7];
public:
RemoteControl() { /* 代碼省略 */ }
void setCommand(int slot, Command* onCommand, Command* offCommand) {
(4) =onCommand;
(5) =offCommand;
}
void onButtonWasPushed(int slot) { (6) ; }
void offButtonWasPushed(int slot) { (7) ; }
};
int main() {
RemoteControl* remoteControl=new RemoteControl();
Light* livingRoomLight=new Light("Living Room");
Light* kitchenLight=new Light("kitchen");
LightOnCommand* livingRoomLightOn=new LightOnCommand(livingRoomLight);
LightOffCommand* livingRoomLightOff=newLightOffCommand(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);
/* 其余代碼省略 */
return 0;
}
信管網(wǎng)考友試題答案分享:
信管網(wǎng)試題答案與解析:m.xiexiliangjiufa.com/st/250328488.html信管網(wǎng)訂閱號
信管網(wǎng)視頻號
信管網(wǎng)抖音號
溫馨提示:因考試政策、內(nèi)容不斷變化與調(diào)整,信管網(wǎng)網(wǎng)站提供的以上信息僅供參考,如有異議,請以權威部門公布的內(nèi)容為準!
信管網(wǎng)致力于為廣大信管從業(yè)人員、愛好者、大學生提供專業(yè)、高質(zhì)量的課程和服務,解決其考試證書、技能提升和就業(yè)的需求。
信管網(wǎng)軟考課程由信管網(wǎng)依托10年專業(yè)軟考教研傾力打造,教材和資料參編作者和資深講師坐鎮(zhèn),通過深研歷年考試出題規(guī)律與考試大綱,深挖核心知識與高頻考點,為學員考試保駕護航。面授、直播&錄播,多種班型靈活學習,滿足不同學員考證需求,降低課程學習難度,使學習效果事半功倍。
發(fā)表評論 查看完整評論 | |