[語言類考試復習資料大全]中級軟件設計師下午試題模擬67_第1頁
[語言類考試復習資料大全]中級軟件設計師下午試題模擬67_第2頁
[語言類考試復習資料大全]中級軟件設計師下午試題模擬67_第3頁
[語言類考試復習資料大全]中級軟件設計師下午試題模擬67_第4頁
[語言類考試復習資料大全]中級軟件設計師下午試題模擬67_第5頁
已閱讀5頁,還剩29頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、書山有路勤為徑,學海無涯苦作舟。祝愿天下莘莘學子:學業(yè)有成,金榜題名!語言類考試復習資料大全中級軟件設計師下午試題模擬67中級軟件設計師下午試題模擬67試題一至試題四是必答題,從試題五試題試題中任選1道解答。試題一閱讀下列說明和數(shù)據流圖,回答下面問題。 說明 圖書管理系統(tǒng)旨在用計算機對圖書進行管理,包括圖書的購入、借閱、歸還以及注銷。管理人員可以查詢某位讀者、某種圖書的借閱情況,還可以對當前圖書借閱情況進行一些統(tǒng)計,給出統(tǒng)計表格,以便掌握圖書的流通情況。 系統(tǒng)要實現(xiàn)以下四方面的功能:購入新書、讀者借書、讀者還書以及圖書注銷。 (1)購入新書:需要為該書編制圖書卡片,包括分類目錄號、圖書流水號(

2、要保證每本書都有唯一的流水號,即使同類圖書也是如此)、書名、作者、內容摘要、價格和購書日期等信息,寫入圖書目錄文件中。 (2)讀者借書:填寫借書單,包括讀者號、欲借圖書分類目錄號,系統(tǒng)首先檢查該讀者號是否有效,若無效,則拒絕借書,否則進一步檢查該讀者所借圖書是否超過最大限制數(shù),若已達到最大借閱數(shù),則拒絕借書,否則讀者可以借出該書,登記圖書分類目錄號、圖書流水號、讀者號和借閱日期等,寫回到借書文件中去。 (3)讀者還書:根據圖書流水號,從借書文件中讀出和該圖書相關的借閱記錄,表明還書日期,再寫回借書文件中;如果圖書逾期未還,則處以相應罰款。 (4)圖書注銷:將一些過時或無保留價值的圖書注銷,從圖

3、書文件中刪除相關記錄。 (5)流通查詢:管理員可以對圖書流通情況進行查詢,包括某位讀者、某種圖書和全局圖書,給出流通情況統(tǒng)計表。 以下是經分析得到的數(shù)據流圖及部分數(shù)據字典,有些地方有待填充,假定項層數(shù)據流圖是正確的。圖1是頂層數(shù)據流圖,圖2是第0層數(shù)據流圖,圖3是第1層數(shù)據流圖。 圖1 圖2 圖3 數(shù)據字典 (1)數(shù)據流條目 圖書管理要求=入庫單|借書單|還書單|注銷單 入庫單=分類目錄號+數(shù)量+書名+作者+內容摘要+價格+購書日期 借書單=讀者號+ (d) +借閱日期 還書單= (e) +還書日期 (2)文件說明 文件名:目錄文件 組成:分類目錄號+書名+作者+內容摘要+價格+入庫日期+總數(shù)

4、+庫存數(shù)+ (f) 1. 根據題意,指出數(shù)據流圖中缺失的數(shù)據流(a)的名稱,并指出該數(shù)據流的起點。答案:(a)名稱:當前日期,起點:系統(tǒng)時鐘解析 加工2的輸入數(shù)據流有“當前日期”和“有效的圖書管理要求”。根據平衡原則,加工2.1的輸入數(shù)據流(a)應為“當前日期”,其起點自然是“系統(tǒng)時鐘”。2. 將下述文件正確填充在數(shù)據流圖(b)、(c)處:讀者文件、借書文件。答案:(b)讀者文件 (c)借書文件解析 加工3.2“讀者查詢”需要“借書文件”及“讀者文件”,而加工3.3“圖書查詢”與“讀者文件”不相關,因此b處應填“讀者文件”,c處應填“借書文件”。3. 根據題意,補充數(shù)據字典中(d)、(e)、(

5、f)處的空缺。答案:(d)分類目錄號 (e)圖書流水號 (f)圖書流水號解析 根據說明“填寫借書單,包括讀者號、欲借圖書分類目錄號”可得,借書單應包括“讀者號”和“圖書分類號”。故d應填“分類目錄號”。 還書時是根據“圖書流水號”的,因此還書單應包括“圖書流水號”。故e應填圖書流水號。 “目錄文件”存儲圖書的情況,包括分類目錄號、圖書流水號、書名、作者、內容摘要、價格,可見“目錄文件”需要存儲圖書流水號,而且“一種”書有多個副本,因此f應填圖書流水號)。注意,大括號表示多個數(shù)據項。 試題二閱讀下列說明和E-R圖,回答下面問題。 說 明 有個關于運動會的管理系統(tǒng),在該系統(tǒng)中,委員會為每一個參賽的

6、運動員賦以一個唯一的編號“運動員號”,同時記錄姓名、性別、年齡和隊名,姓名和隊名必須填寫。 一個運動員屬于且只屬于一個隊,一個運動員可以參賽多個項目。運動員參加比賽取得一個成績,相應有一個積分:第一名積分6分,第二名積分4分,第三名積分2分,其他的沒有積分。一個隊的總積分是該隊的所有隊員的積分之和。 下圖是該系統(tǒng)的E-R圖。圖中的實體和屬性同時給出了中英文兩種名字,回答問題時只需寫出英文名即可。 1. 根據E-R圖中給出的詞匯,按照“有關模式名(屬性,屬性,)”的格式,將此E-R圖轉換為3個關系模式,指出每個關系模式中的主碼和外碼,其中模式名根據需要取實體名或聯(lián)系名。答案:Athlete(AN

7、o,AName,ASex,Age,ATeam),主鍵為ANo。 Item(INo,IName,ITime,IPlace),主鍵為INo。 Games(ANo,INo,Score,Credit),主鍵為(ANo,INo)。解析 E-R模型向關系模型的轉換應遵循如下原則: 每個實體類型轉換成一個關系模式; 一個1:1的聯(lián)系(一對一聯(lián)系)可轉換為一個關系模式,或與任意一端的關系模式合并。若獨立轉換為一個關系模式,那么兩端關系的碼及其聯(lián)系的屬性為該關系的屬性;若與一端合并,那么將另一端的碼及屬性的屬性合并到該端。 一個1:n的聯(lián)系(一對多聯(lián)系)可轉換為一個關系模式,或與n端的關系模式合并。若獨立轉換為

8、一個關系模式,那么兩端關系的碼及其聯(lián)系的屬性為該關系的屬性,而n端的碼為關系的碼。 一個n:m的聯(lián)系(多對多聯(lián)系)可轉換為一個關系模式,兩端關系的碼及其聯(lián)系的屬性為該關系的屬性,而關系的碼為兩端實體的碼的組合。 三個或三個以上多對多的聯(lián)系可轉換為一個關系模式,諸關系的碼及聯(lián)系的屬性為關系的屬性,而關系的碼為各實體的碼的組合。 具有相同碼的關系可以合并。 根據上述規(guī)則,可得如下關系模式: Athlete(ANo,AName,ASex,Age,ATeam),主鍵為ANo。 Item(INo,IName,ITime,IPlace),主鍵為INo。 Games(ANo,INo,Score,Credit

9、),主鍵為(ANo,INo)。 2. 創(chuàng)建Athlete表時,ANo使用CHAR(6)并且唯一,AName使用CHAR(20),ASex使用CHAR(1),ATeam使用CHAR(20)。請在下列用于創(chuàng)建表Athelete的SQL語句空缺處填入正確的內容。 CREATE TABLE Athlete(ANo CHAR(6)NOT NULL, AName CHAR(20), ASex CHAR(1), ATeam CHAR (20) NOT NULL, _; 答案:PRIMARYKEY ANo解析 Athlete表中ANo是主鍵,創(chuàng)建表時需要說明主鍵,故應填PRIMARY KEY ANo。3. 假

10、定Games表存儲參賽情況,如下的SQL語句是委員會用于查詢“隊名為China的各個運動員各自奪取得的總積分”的不完整語句,請在空缺處填入正確的內容。 SELECT _ FROM Games WHERE ANo _ (SELECT ANo FROM _ WHERE ATeam=China) GROUP BY ANo; 答案:SUM(Credit) IN Athlete解析 SELECT ALL|DISTINCT目標列表達式, 目標列表達式 FROM 表名或視圖名,表名或視圖名 WHERE條件表達式 GROUP BY 列名1HAVING條件表達式 ORDER BY 列名2ASC|DESC 子句順

11、序為SELECT、F=ROM、WHERE、GROUP BY、HAVING、ORDER BY,但SELECT和FROM是必須存在的,HAVlNG子句只能與GROUP BY搭配起來使用。SELECT子句對應的是關系代數(shù)中的投影運算,用來列出查詢結果中的屬性,其輸出可以是列名、表達式、集函數(shù)(AVG、COUNT、MAX、MIN、SUM),DISTINCT選項可以保證查詢的結果集中不存在重復元組;FROM子句對應的是關系代數(shù)中的笛卡爾積,它列出的是表達式求值過程中須掃描的關系;WHERE子句對應的是關系代數(shù)中的選擇謂詞。 試題三閱讀下列說明和圖,回答下面問題。 說明 某大型旅店為了便于管理,欲開發(fā)一個

12、客房管理系統(tǒng)。希望實現(xiàn)客房預定、入住登記、賬務結算、退房,以及將服務項目記入客人賬單。 旅客包括散客和團體,散客預定或入住時需要提供姓名、性別、身份證和聯(lián)系電話,團體則提供團體名稱、負責人的姓名、性別、身份證和聯(lián)系電話,以及團體人數(shù)。對于散客,還要提供換房。 旅店還提供了很多服務項目,比如早餐。對每一個入住客人,服務列表記錄了住宿期間的各項服務,包括服務類型、日期、數(shù)量等。當然,客人也可以不要任何服務。 旅店的客房有一個唯一的房間號,分為不同的類別,不同的房間床位數(shù)和價格不同。 為了有效地管理,需要記錄每天的客房狀態(tài)。客房的狀態(tài)有:空閑、占用、已預定和維修。 客人入住后,客房處于占用狀態(tài)。 客

13、人退房后,客房處于空閑狀態(tài)。 客人預定后,客房處于已預定狀態(tài)。 預定客人入住后,客房處于占用狀態(tài)。 預定客人取消預定后客房處于空閑狀態(tài)。 需要維修時客房處于維修狀態(tài)。 維修完成后客房處于空閑狀態(tài)。 該系統(tǒng)采用面向對象方法開發(fā),系統(tǒng)中的類以及類之間的關系用UML類圖表示,圖1是該系統(tǒng)的類圖的一部分,圖2描述了客房狀態(tài)的轉變情況。 圖1 圖2 1. 請用圖1的屬性和方法的名稱給出客人類的屬性和方法。(注意:團體類中的負責人姓名等與散客的對應屬性含義相同,不必區(qū)分)答案:屬性:姓名、性別、身份證、聯(lián)系電話 方法:預定、入住、結賬解析 “客人”類是“散客”類和“團體”類的泛化,具有二者的公共屬性和公共

14、方法。比對二者屬性及方法得,“客人”類屬性有:姓名、性別、身份證、聯(lián)系電話;方法有:預定、入住、結賬。 2. 在UML中,重復度(Multiplicity)定義了某個類的一個實例可以與另一個類的多少個實例相關聯(lián)。通常把它寫成一個表示取值范圍的表達式或者一個具體的值。例如圖1中的類客人和住宿,客人端的“1”表示:一個住宿類的實例只能與一個1個客人類的實例相關聯(lián);住宿類端的“0.*”表示:一個住宿類的實例可以與0個或多個客人類的實例相關。請指出圖1中(1)到(4)處的重復度分別為多少?答案:0.1 (2)1.* (3)1 (4)0.1解析 散客入住時只改變一個客房狀態(tài),而團體入住時則有可能改變多個

15、客房狀態(tài);客房狀態(tài)改變不一定是住宿導致的,客房維修同樣改變客房狀態(tài)。 客人可以有多項服務,但只需用一張“服務列表”,當然也可能不需要任何服務;而一張服務列表必然屬于而且只輸于一個住宿。 3. 根據題意,請指出圖2中狀態(tài)A、B分別是什么狀態(tài),事件C、D分別是什么事件。答案:A:空閑 B:占用 C:入住 D:取消預定解析 “維修”完成后客房處于“空閑”狀態(tài),故狀態(tài)A為“空閑”;客人入住后,客房由“空閑”轉為“占用”,故狀態(tài)B為“占用”;狀態(tài)“已預訂”經“入住”轉為“占用”,故C“入住”;狀態(tài)“已預訂”經“取消”轉為“空閑”,故D為“取消”。試題四閱讀下列說明和圖,回答下面問題。 說明 目前大多數(shù)操

16、作系統(tǒng)都采用虛擬存儲技術,這樣可在較小的可用內存中執(zhí)行較大的用戶程序,可在內存中容納更多程序并發(fā)執(zhí)行。 引入虛擬存儲技術,其基本思想是利用大容量的外存來擴充內存,產生一個比有限的實際空間大得多、邏輯的虛擬內存空間,以便能夠有效地支持多道程序系統(tǒng)的實現(xiàn)和大型程序運行的需要,從而增強系統(tǒng)的處理能力。 虛擬存儲技術主要分為虛擬頁式存儲管理和虛擬段式存儲管理。 虛擬頁式存儲管理中,在進程開始運行之前,不是裝入全部頁面,而是裝入一個或零個頁面之后根據進程運行的需要,動態(tài)裝入其他頁面;當內存空間已滿,而又需要裝入新的頁面時,則根據某種算法淘汰某個頁面,以便裝入新的頁面。在簡單頁式存儲管理的基礎上,增加請求

17、調頁和頁面置換功能。 使用虛擬頁式存儲管理時需要在頁表中增加以下內容:頁號、駐留號、內存塊號、外存地址、訪問位、修改位。其中,駐留位,又稱中斷位,表示該頁是在內存還是在外存;訪問位表示該頁在內存期間是否被訪問過;修改位表示該頁在內存中是否被修改過。訪問位和修改位可以用來決定置換哪個頁面,具體由頁面置換算法決定。 1. 執(zhí)行指令時,計算頁號與頁內地址,判斷“該頁在內存嗎”,若在,則進行地址映射過程;若不在內存,則產生缺頁中斷。當發(fā)生缺頁中斷時,保存當前進程現(xiàn)場,判斷“有空閑頁面嗎”,如有,直接調入所需的頁面。若沒有,按照某種算法選擇一頁置換,判斷“該頁被修改過嗎”,如果被修改過,就必須把它寫回磁

18、盤以便更新該頁在磁盤上的副本;如果該頁沒有被修改過,那么它在磁盤上的副本已經是最新的了,則不需要寫回,調入的所需的頁面直接覆蓋被淘汰的頁。調整頁表及內存分配表,恢復被中斷進程現(xiàn)場。 補充下圖缺頁中斷處理流程圖中的判斷(1)(3)。 答案:(1)該頁在內存嗎? (2)有空閑頁面嗎? (3)該頁被修改過嗎?解析 根據缺頁中斷處理的說明,易于判斷:(1)該頁在內存嗎?(2)有空閑頁面嗎?(3)該頁被修改過嗎?2. 發(fā)生缺頁時,通常需要進行頁面置換,頁面置換算法的優(yōu)劣將會影響虛擬存儲系統(tǒng)的性能。常用的頁面置換算法有理想頁面置換算法(OPT:Optimal)、先進先出頁面置換算法(FIFO:First-

19、In First-Out)以及最近最少使用頁面置換算法(LRU:Least Recently Used)。 某程序在內存中分配3頁,初始為空,頁面走向為4、3、2、1、4、3、5、4、3、2、1、5。給出采用先進先出(FIFO)、最近最少使用(LRU)和理想(OPT)頁面置換算法所得到的內存中的頁面變化序列。 注:缺頁標記欄,用表示沒有缺頁,用表示發(fā)生了缺頁。 OPT 4 3 2 1 4 3 5 4 3 2 1 5 頁1 頁2 頁3 缺頁標記 FIFO 4 3 2 1 4 3 5 4 3 2 1 5 頁1 頁2 頁3 缺頁標記 LRU 4 3 2 1 4 3 5 4 3 2 1 5 頁1 頁2

20、 頁3 缺頁標記 答案:OPT7次 OPT 4 3 2 1 4 3 5 4 3 2 1 5 頁1 4 3 2 1 1 1 5 5 5 2 1 1 頁2 4 3 3 3 3 3 3 3 5 5 5 頁3 4 4 4 4 4 4 4 4 4 4 缺頁標記 FIFO9次 FIFO 4 3 2 1 4 3 5 4 3 2 1 5 頁1 4 3 2 1 4 3 5 5 5 2 1 1 頁2 4 3 2 1 4 3 3 3 5 2 2 頁3 4 3 2 1 4 4 4 3 35 5 缺頁標記 LRU10次 LRU 4 3 2 1 4 3 5 4 3 2 1 5 頁1 4 3 2 1 4 3 5 4 3 2

21、 1 5 頁2 4 3 2 1 4 3 5 4 3 2 1 頁3 4 3 2 1 4 3 5 4 3 2 缺頁標記 解析 常用頁面置換算法有: (a)理想頁面置換算法(OPT:Optimal)。選擇淘汰不再使用或最遠的將來才使用的頁。 (b)先進先出頁面置換算法(FIFO:First-In First-Out)。選擇淘汰主存駐留時間最長的頁。 (c)最近最少使用頁面置換算法(LRU:Least Recently Used)。選擇淘汰離當前時刻最近的一段時間使用得最少的頁。 (d)隨機算法(Rand)。隨機地選擇淘汰的頁。 (e)最近未使用頁面置換算法(NFU:Not Recently Used

22、)。 3. 簡述Belady異常。答案:一般來講,在內存中的物理頁面數(shù)越多,程序的缺頁次數(shù)應該越少,但令人吃驚的是,實際情況并不是這樣。使用FIFO算法時,有時會出現(xiàn)分配的頁面數(shù)增多,缺頁率反而提高的異常現(xiàn)象。試題五問題:1. 閱讀下列函數(shù)說明和C代碼,將應填入_處的字句。 說 明 若要在N個城市之間建立通信網絡,只需要N-1條線路即可。如何以最低的經濟代價建設這個網絡,是一個網的最小生成樹的問題?,F(xiàn)要在8個城市間建立通信網絡,其間拓撲結構如圖所示,邊表示城市間通信線路,邊上標示的是建立該線路的代價。 無向圖用鄰接矩陣存儲,元素的值為對應的權值??紤]到鄰接矩陣是對稱的且對角線上元素均為0,故壓

23、縮存儲,只存儲上三角元素(不包括對角線)。 現(xiàn)用Prim算法生成網絡的最小生成樹。由網絡G=(V,E)構造最小生成樹T=(U,TE)的Prim算法的基本思想是:首先從集合V中任取一頂點放入集合U中,然后把所有一個頂點在集合U里、另一個頂點在集合V-U里的邊中,找出權值最小的邊(u,v),將邊加入TE,并將頂點v加入集合U,重復上述操作直到U=V為止。 函數(shù)中使用的預定義符號如下: #define MAX 32768/*無窮大權,表示頂點間不連通*/ #define MAXVEX 30/*圖中頂點數(shù)目的最大值*/ typedef struct int startVex, stopVex; /*邊

24、的起點和終點*/ float weight; /*邊的權*/ Edge; typedef struct char vexsMAXVEX; /*頂點信息*/ float arcsNAXVEX* (HAXVEX-1)/2; /*鄰接矩陣信息,壓縮存儲*/ int n; /*圖的頂點個數(shù)*/ Graph; 函數(shù) void PrimMST(Graph *pGraph, Edge mst) int i, j, k, min, vx, vy; float weight, minWeight; Edge edge; for(i=0; ipGraph-n-1; i+) msti.StartVex=0; mst

25、i.StopVex=i+1; msti.weight=pGraph-arcsi; for(i=0; i(1); i+)(/*共n-1條邊*/ minWeight=(float)MAX; min=i; /*從所有邊(vx, vy)中選出最短的邊*/ for(j=i; jpGraph-n-1; j+) if(mstj.weightminWeight) minWeight=_; min=j; /*mstmin是最短的邊(vx, vy),將mstmin加入最小生成樹*/ edge=mstmin; mstmin=msti; msti=edge; vx=_;/*vx為剛加入最小生成樹的頂點下標*/ /*調

26、整msti+1到mstn-1*/ for(j=i+1; jpGraph-n-1; j+) Vy=mstj.StopVex; if(_)/*計算(vx, vy)對應的邊在壓縮矩陣中的下標*/ k=pGraph-n*vy-vy*(vy+1)/2+vx-vy-1; else k=pGraph-n*vx-vx*(vx+1)/2+vy-vx-1; weight=_; if(weight mstj.weight) mstj.weight=weight; mstj.StartVex=vx; 答案:pGraph-n-1 mstj.weight msti.StopVex vyvX pGraph-arcsk解析

27、由注釋“n-1條邊”可得,第1處應為pGraph-n-1。 第2處有關程序段是選出權值最小的邊,minWeight表示的是最小權值,因此第二處應填mstj.weight。 “vx為剛加入最小生成樹的頂點下標”,因此第三處應填mstj.StopVex。 鄰接矩陣是壓縮存儲的,只存儲上三角陣,因此下標需要進行轉換。比較if及else塊,可發(fā)現(xiàn)兩算式區(qū)別在于vx、vy互換,由鄰接矩陣的對稱性可得第四處應填vyvx。 第五處相關程序段是進行調整,應填pGraph-arcsk。 問題:2. 閱讀以下說明和C+代碼,將應填入_處的字句。 說明 現(xiàn)有一個顯示系統(tǒng),要顯示的圖形有線Line、矩形Square,

28、抽象出一個Shape類(接口),有方法顯示display( )。 需要新增圖形Circle,又已知有類XXCircle實現(xiàn)了所需要實現(xiàn)的功能:顯示displayIt( )。為了繼承自Shape以提供統(tǒng)一接口,又不希望從頭開發(fā)代碼,希望使用XXCircle。這樣將XXCircle作為Circle的一個屬性,即Circle的對象包含一個XXCircle對象。當一個Circle對象被實例化時,它必須實例化一個相應的XXCircle對象;當Circle對象收到的做任何事的請求都將轉發(fā)給這個XXCircle對象。通過這種稱為Adapter模式,Circle對象就可以通過“讓XXCircle做實際工作”來

29、表現(xiàn)自己的行為了。下圖中顯示了各個類間的關系。以下是C+語言實現(xiàn),能夠正確編譯通過。 C+代碼 C1ass Shape public: _ void display( )=0; ; class Line: public Shape/省略具體實現(xiàn) ; class Square: public Shape/9略具體實現(xiàn) ; class XXCircle public: void displayIt( ) /省略具體實現(xiàn) /省略其余方法和屬性 ; class Circle: public Shape private: XXCirele *pxc; public: Circle( ); void di

30、splay( ); ; Circle:Circle( ) pxc=_; void Circle:display( ) pxc-_; class Factory public: _ getshapeInstance(int type)/生成特定類實例 switch(type) case 1: return new Square; case 2: return new Line; case 3: return new Circle; default: return NULL; ; void main(int argc, char *argv) if(argc !=2) couterror para

31、metems!end1; return; int type=atoi(argv 1); Factory factory; Shape *s=factory. _; if(s=NULL) coutError get the instance!end1; return; s-display( ); defete a; return; 答案:virtual new XXCircle displaylt( ) Shape* getShapelnstance(type)解析 由“=0”可輕易判知display( )函數(shù)是一個純虛函數(shù),因此第一處應填virtual。 由題設,Circle實例化時,須先實例

32、化一個XXCircle對象,而pxc正好也是XXCircle對象指針,故第二處應填new XXCircle。 Circle在此充當適配器的角色,它所做的就是將消息轉發(fā)給XXCircle實例,display( )是“顯示”消息,故調用XXCircle的相應方法,故第三處應填displayIt( )。 方法getshapeInstance(int type)的返回值有new Line、new square以及new Circle,參照類的層次結構,可得第四處應填Shape*。注意是指針。 Factory類僅定義了一個方法getShapeInstance,而此處語義正是取得一個形狀進行顯示,故第五處

33、應填getShapelnstance (type)。 問題:3. 閱讀以下函數(shù)說明和Java代碼,將應填入_處的字句。 說明 現(xiàn)有一個顯示系統(tǒng),要顯示的圖形有線Line、矩形square,抽象出一個shape類(接口),有方法顯示display( )。 需要新增圖形Circle,又已知有類XXCircle實現(xiàn)了所需要實現(xiàn)的功能:顯示displayIt( )。為了繼承自Shape以提供統(tǒng)一接口,又不希望從頭開發(fā)代碼,希望使用XXCircle。這樣將XXCircle作為Circle的一個屬性,即Circle的對象包含一個XXCircle對象。當一個Circle對象被實例化時,它必須實例化一個相應的XXCircle對象;當Circle對象收到的做任何事的請求都將轉發(fā)給這個XXCircle對象。通過這種稱為Adapter模式,Circ

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論