問答題

閱讀下列說明和Java代碼,將應(yīng)填入(n)處的字句寫在答題紙的對應(yīng)欄內(nèi)。
說明:某飯店在不同的時段提供多種不同的餐飲,其菜單的結(jié)構(gòu)圖如圖10.43所示?,F(xiàn)在采用組合(Composition)模式來構(gòu)造該飯店的菜單,使得飯店可以方便地在其中添加新的餐飲形式,得到如圖10.44所示的類圖。其中MenuComponent為抽象類,定義了添加(add)新菜單和打印飯店所有菜單信息(print)的方法接口。類Menu表示飯店提供的每種餐飲形式的菜單,如煎餅屋菜單、咖啡屋菜單等。每種菜單中都可以添加子菜單,例如圖10.43中的甜點(diǎn)菜單。類Menultem表示菜單中的菜式。

Java代碼如下:


你可能感興趣的試題

2.問答題

閱讀下列說明和圖,回答問題1至問題3,將解答填入答題紙的對應(yīng)欄內(nèi)。
說明:一個簡單的圖形編輯器提供給用戶的基本操作包括:創(chuàng)建圖形、創(chuàng)建元素、選擇元素以及刪除圖形。圖形編輯器的組成及其基本功能描述如下。
(1)圖形由文本元素和圖元元素構(gòu)成,圖元元素包括線條、矩形和橢圓。
(2)圖形顯示在工作空間中,一次只能顯示一張圖形(即當(dāng)前圖形,current)。
(3)編輯器提供了兩種操作圖形的工具:選擇工具和創(chuàng)建工具。對圖形進(jìn)行操作時,一次只能使用一種工具(即當(dāng)前活動工具,active)。
①創(chuàng)建工具用于創(chuàng)建文本元素和圖形元素。
②對于顯示在工作空間中的圖形,使用選擇工具能夠選定其中所包含的元素,可以選擇一個元素,也可以同時選擇多個元素。被選擇的元素成為當(dāng)前選中元素(selected)。
③每種元素都具有相應(yīng)的控制點(diǎn)。拖曳選定元素的控制點(diǎn),可以移動元素或者調(diào)整元素的大小。
現(xiàn)采用面向?qū)ο蠓椒ㄩ_發(fā)該圖形編輯器,使用UML進(jìn)行建模。構(gòu)建出的用例圖和類圖分別如圖10.39和圖10.40所示。

問題1:根據(jù)說明中的描述,給出圖10.39中U1和U2所對應(yīng)的用例,以及(1)和(2)處所對應(yīng)的關(guān)系。
問題2:根據(jù)說明中的描述,給出圖10.40中缺少的C1~C8所對應(yīng)的類名以及(3)~(6)處所對應(yīng)的多重度。
問題3:圖10.40中的類圖設(shè)計(jì)采用了橋接(Bridge)設(shè)計(jì)模式,請說明該模式的內(nèi)涵。

5.問答題

閱讀下列說明和圖,回答問題1至問題3,將解答填入答題紙的對應(yīng)欄內(nèi)。
說明:Pay&Drive系統(tǒng)(開多少付多少)能夠根據(jù)駕駛里程自動計(jì)算應(yīng)付的費(fèi)用。系統(tǒng)中存儲了特定區(qū)域道路交通網(wǎng)的信息。道路交通網(wǎng)由若干個路段(RoadSegment)構(gòu)成,每個路段由兩個地理位置坐標(biāo)點(diǎn)(Node)標(biāo)定,其里程數(shù)(Distance)是已知的。在某些地理坐標(biāo)點(diǎn)上安裝了訪問控制(AccessControl)設(shè)備,可以自動掃描行駛卡(Card)。行程(Trajectory)由一組連續(xù)的路段構(gòu)成。行程的起點(diǎn)(Entry)和終點(diǎn)(Exit)都裝有訪問控制設(shè)備。系統(tǒng)提供了3種行駛卡。常規(guī)卡(RegularCard)有效期(ValidPeriod)為一年,可以在整個道路交通網(wǎng)內(nèi)使用。季卡(SeasonCard)有效期為三個月,可以在整個道路交通網(wǎng)內(nèi)使用。單次卡(MinitripCard)在指定的行程內(nèi)使用,且只能使用一次。其中,季卡和單次卡都是預(yù)付卡(PrepaidCard),需要客戶(Customer)預(yù)存一定的費(fèi)用。系統(tǒng)的主要功能有:客戶注冊、申請行駛卡、使用行駛卡行駛等。使用常規(guī)卡行駛,在進(jìn)入行程起點(diǎn)時,系統(tǒng)記錄行程起點(diǎn)、進(jìn)入時間(DateofEntry)等信息。在到達(dá)行程終點(diǎn)時,系統(tǒng)根據(jù)行駛的里程數(shù)和所持卡的里程單價(UnitPrice)計(jì)算應(yīng)付費(fèi)用,并打印費(fèi)用單(Invoice)。季卡的使用流程與常規(guī)卡類似,但是不需要打印費(fèi)用單,系統(tǒng)自動從卡中扣除應(yīng)付費(fèi)用。單次卡的使用流程與季卡類似,但還需要在行程的起點(diǎn)和終點(diǎn)上檢查行駛路線是否符合該卡所規(guī)定的行駛路線?,F(xiàn)采用面向?qū)ο蠓椒ㄩ_發(fā)該系統(tǒng),使用UML進(jìn)行建模。
構(gòu)建出的用例圖和類圖分別如圖10.33和圖10.34所示。

問題1:根據(jù)說明中的描述,給出圖10.33中的U1和U2所對應(yīng)的用例,以及(1)處所對應(yīng)的關(guān)系。問題2:根據(jù)說明中的描述,給出圖10.34中缺少的C1~C6所對應(yīng)的類名以及(2)、(3)處所對應(yīng)的多重度(類名使用說明中給出的英文詞匯)。問題3:根據(jù)說明中的描述,給出RoadSegment、Trajectory和Card所對應(yīng)的類的關(guān)鍵屬性(屬性名使用說明中給出的英文詞匯)。