閱讀下列說(shuō)明和Java代碼,將應(yīng)填入(n)處的字句寫(xiě)在答題紙的對(duì)應(yīng)欄內(nèi)。
說(shuō)明:某大型商場(chǎng)內(nèi)安裝了多個(gè)簡(jiǎn)易的紙巾售賣機(jī),自動(dòng)售出2元錢(qián)一包的紙巾,且每次僅售出一包紙巾。紙巾售賣機(jī)的狀態(tài)如圖10.37所示。采用狀態(tài)(State)模式來(lái)實(shí)現(xiàn)該紙巾售賣機(jī),得到如圖10.38所示的類圖。
其中類State為抽象類,定義了投幣、退幣、出紙巾等方法接口。類SoldState、SoldOutState、NoQuarterState和HasQuarterState分別對(duì)應(yīng)圖10.37中紙巾售賣機(jī)的4種狀態(tài):售出紙巾、紙巾售完、沒(méi)有投幣、有2元錢(qián)。
Java代碼如下:
閱讀下列說(shuō)明和C++代碼,將應(yīng)填入(n)處的字句寫(xiě)在答題紙的對(duì)應(yīng)欄內(nèi)。
說(shuō)明:某大型商場(chǎng)內(nèi)安裝了多個(gè)簡(jiǎn)易的紙巾售賣機(jī),自動(dòng)售出2元錢(qián)一包的紙巾,且每次僅售出一包紙巾。紙巾售賣機(jī)的狀態(tài)如圖10.35所示。采用狀態(tài)(State)模式來(lái)實(shí)現(xiàn)該紙巾售賣機(jī),得到如圖10.36所示的類圖。其中類State為抽象類,定義了投幣、退幣、出紙巾等方法接口。類SoldState、SoldOutState、NoQuarterState和HasQuarterState分別對(duì)應(yīng)圖10.35中紙巾售賣機(jī)的4種狀態(tài):售出紙巾、紙巾售完、沒(méi)有投幣、有2元錢(qián)。
C++代碼如下: