當前位置: 首頁 > 問題分類 > 計算機類考試 > 軟考中級 > 問題詳情
問題

請閱讀以下技術說明、類圖及Java代碼,根據要求將(1)~(7)空缺處的內容填寫完整。

1. [說明]

已知某企業欲開發一家用電器遙控系統,即用戶使用一個遙控器即可控制某些家用電器的開與關。遙控器面板如圖1-18所示。該遙控器共有4個按鈕,編號分別是0至3,按鈕0和2能夠遙控打開電器1和電器2,按鈕1和3則能遙控關閉電器1和電器2。由于遙控系統需要支持形式多樣的電器,因此,該系統的設計要求具有較高的擴展性。現假設需要控制客廳電視和臥室電燈,對該遙控系統進行設計所得類圖如圖1-19所示。

在圖1-19中,類RomoteController的方法onPressButton(int button)表示當遙控器按鍵按下時調用的方法,參數為按鍵的編號;Command接口中on和off方法分別用于控制電器的開與關;Light中turnLight (int degree)方法用于調整電燈燈光的強弱,參數degree值為0時表示關燈,值為100時表示開燈并且將燈光亮度調整到最大;TV中setChannel(int channel)方法表示設置電視播放的頻道,參數channel值為0時表示關閉電視,為1時表示開機并將頻道切換為第1頻道。

[Java代碼]

本試題應用命令模式能夠有效讓類(5)和類(6)、類(7)之間的耦合性降至最小。

參考答案
正確答案:考查設計模式中的Command(命令)模式的案例分析題。Command(命令)模式的設計意圖是:將一個請求封裝為一個對象從而使用戶可用不同的請求對客戶進行參數化;對請求排隊或記錄請求日志以及支持可撤銷的操作。其中一種應用場合就是抽象出待執行的動作以參數化某種對象可用過程語言中的回調(callback)函數表達這種參數化機制。 Command模式是回調機制的一個面向對象的替代品。設計時為了保證遙控器和家用電器之間的獨立性定義了Command類當用戶按下遙控器上的按鈕時觸發Command上的On或者Off方法因此一對按鈕分別對應一個Command對象。題目中的LightCommand以及與TVCommand分別為Command的子類該子類用于控制實際的Light以及TV對象將On與Off方法委托給Light以及TV實現。(1)空缺處表示要設置遙控器上按鈕控制的對象其參數傳遞的是某一個命令對象因此只需將該命令對象存儲下來即可。(2)空缺處表示關閉電燈根據說明關閉電燈的方法為turnLight(0)。(3)空缺處表示打開電視機因此需要調用打開電視的方法。(4)空缺處表示將按鈕0和相應的Command對象相關聯根據題目描述按鈕0用于控制燈或者電視因此應該設置燈或者電視的命令對象。 本題中應用命令模式的目的是使類RemoteController(遙控器)和類Light、類TV之間的耦合性降至最低。
考查設計模式中的Command(命令)模式的案例分析題。Command(命令)模式的設計意圖是:將一個請求封裝為一個對象,從而使用戶可用不同的請求對客戶進行參數化;對請求排隊或記錄請求日志,以及支持可撤銷的操作。其中一種應用場合就是抽象出待執行的動作以參數化某種對象,可用過程語言中的回調(callback)函數表達這種參數化機制。 Command模式是回調機制的一個面向對象的替代品。設計時,為了保證遙控器和家用電器之間的獨立性,定義了Command類,當用戶按下遙控器上的按鈕時,觸發Command上的On或者Off方法,因此,一對按鈕分別對應一個Command對象。題目中的LightCommand以及與TVCommand分別為Command的子類,該子類用于控制實際的Light以及TV對象,將On與Off方法委托給Light以及TV實現。(1)空缺處表示要設置遙控器上按鈕控制的對象,其參數傳遞的是某一個命令對象,因此只需將該命令對象存儲下來即可。(2)空缺處表示關閉電燈,根據說明,關閉電燈的方法為turnLight(0)。(3)空缺處表示打開電視機,因此需要調用打開電視的方法。(4)空缺處表示將按鈕0和相應的Command對象相關聯,根據題目描述,按鈕0用于控制燈或者電視,因此,應該設置燈或者電視的命令對象。 本題中應用命令模式的目的是,使類RemoteController(遙控器)和類Light、類TV之間的耦合性降至最低。
您可能感興趣的試題
  • 定義了三種模型來描述系統。(49)可以用狀態圖來表示;(50)可以用數據流圖來表示。(51)為上述兩種模型提供了基本的框架。

    A.對象模型

    B.功能模型

    C.動態模型

    D.類模型

  • A.分治法

    B.貪心法

    C.動態規劃方法

    D.回溯法

  • 以關鍵字比較為基礎的排序算法在最壞情況下的計算時間下界為O(nlogn)。下面的排序算法中,最壞情況下計算時間可以達到O(nlogn)的是(59);該算法采用的設計方法是(60)。

    A.歸并排序

    B.插入排序

    C.選擇排序

    D.冒泡排序

  • A.排序

    B.檢索

    C.背包

    D.0/1背包

广西快乐双彩开奖30期