閱讀下列說明和C++代碼,將應(yīng)填入(n)處的字句寫在答題紙的對應(yīng)欄內(nèi)。
說明:某飯店在不同的時段提供多種不同的餐飲,其菜單的結(jié)構(gòu)圖如圖10.41所示。
現(xiàn)在采用組合(Composition)模式來構(gòu)造該飯店的菜單,使得飯店可以方便地在其中添加新的餐飲形式,得到如圖10.42所示的類圖。其中MenuComponent為抽象類,定義了添加(add)新菜單和打印飯店所有菜單信息(print)的方法接口。類Menu表示飯店提供的每種餐飲形式的菜單,如煎餅屋菜單、咖啡屋菜單等。每種菜單中都可以添加子菜單,例如圖10.41中的甜點(diǎn)菜單。類Menultem表示菜單中的菜式。
c++代碼如下:
閱讀下列說明和Java代碼,將應(yīng)填入(n)處的字句寫在答題紙的對應(yīng)欄內(nèi)。
說明:某大型商場內(nèi)安裝了多個簡易的紙巾售賣機(jī),自動售出2元錢一包的紙巾,且每次僅售出一包紙巾。紙巾售賣機(jī)的狀態(tài)如圖10.37所示。采用狀態(tài)(State)模式來實(shí)現(xiàn)該紙巾售賣機(jī),得到如圖10.38所示的類圖。
其中類State為抽象類,定義了投幣、退幣、出紙巾等方法接口。類SoldState、SoldOutState、NoQuarterState和HasQuarterState分別對應(yīng)圖10.37中紙巾售賣機(jī)的4種狀態(tài):售出紙巾、紙巾售完、沒有投幣、有2元錢。
Java代碼如下: