上半年軟件設計師下午真題試卷.doc
《上半年軟件設計師下午真題試卷.doc》由會員分享,可在線閱讀,更多相關(guān)《上半年軟件設計師下午真題試卷.doc(17頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、2013年上半年軟件設計師下午試卷 第1題 某慈善機構(gòu)欲開發(fā)一個募捐系統(tǒng),以跟蹤記錄為事業(yè)或項目向目標群體進行募捐而組織的集體性活動,該系統(tǒng)的主要功能如下所述。 (1)管理志愿者。根據(jù)募捐任務給志愿者發(fā)送加入邀請、邀請跟進、工作任務;管理志愿者提供的邀請響應、支援站信息、工作時長、工作結(jié)果等。 (2)確定募捐需求和收集所募捐贈(資金及物品)。根據(jù)需求提出的募捐任務、活動請求和募捐請求,獲取所募集的資金和物品。 (3)組織募捐活動。根據(jù)活動請求,確定活動時間范圍。根據(jù)活動時間,搜索場館,即向場館發(fā)送場館可用性請求,獲得場館可用性。然后根據(jù)活動時間和地點推廣募捐活動,根據(jù)相應的活動信息舉
2、辦活動,從募款機構(gòu)獲取資金并向其發(fā)放贈品。獲取和處理捐贈,根據(jù)捐贈要求,提供所募集的捐贈;處理與處理人之間的交互。即: 錄入捐贈人信息,處理后存入捐贈人信息表;從捐贈人信息表中查詢捐贈人信息,向捐贈人發(fā)送捐贈請求,并將已聯(lián)系的捐贈人存入已聯(lián)系的捐贈人表。根據(jù)捐贈請求進行募集,募得捐贈后,將捐贈記錄存入捐贈表;對捐贈記錄進行處理后,存入已處理捐贈表,向捐贈人發(fā)送致謝函。根據(jù)已聯(lián)系的捐贈人和捐贈記錄進行跟進,將捐贈跟進情況發(fā)送給捐贈人。 現(xiàn)采用機構(gòu)化方法對募捐系統(tǒng)進行分析與設計,獲得如圖1-1、1-2和1-3所示分層數(shù)據(jù)流圖。 圖1-1所示分層數(shù)據(jù)流圖 圖1-2所示分層數(shù)據(jù)流圖
3、圖1-3所示分層數(shù)據(jù)流圖 問題:1.1使用說明中的詞語,給出圖1-1中的實體E1~E4的名稱。 問題:1.2在建模DFD時,需要對有些復雜加工(處理)進行進一步精化,圖1-2為圖1-1中處理3的進一步細化的1層數(shù)據(jù)圖,圖1-3為圖1-2中3.1進一步細化的2層數(shù)據(jù)流圖。補全圖1-2中加工P1、P2和P3的名稱和圖1-2與圖1-3中缺少的數(shù)據(jù)流。 問題:1.3使用說明中的詞語,給出圖1-3中的數(shù)據(jù)存儲D1~D4的名稱。 答案解析 問題1:E1志愿者 E2捐贈人 E3募捐機構(gòu) E4場館 本題采用結(jié)構(gòu)化方法進行系統(tǒng)分析與設計,主要考查數(shù)據(jù)流圖(DFD)的應用,是比較傳統(tǒng)的題目,要
4、求考生細心分析題目中所描述的內(nèi)容。DFD是一種便于用戶理解、分析系統(tǒng)數(shù)據(jù)流程的圖形化建模工具,是系統(tǒng)邏輯模型的重要組成部分。頂層DFD—般用來確定系統(tǒng)邊界,將待開發(fā)系統(tǒng)看作一個大的加工(處理),然后根據(jù)系統(tǒng)從哪些外部實體接收數(shù)據(jù)流,以及系統(tǒng)將數(shù)據(jù)流發(fā)送到哪些外部實體,建模出的頂層圖中只有唯一的一個加工和一些外部實體,以及這兩者之間的輸入輸出數(shù)據(jù)流。0層DFD在頂層確定的系統(tǒng)外部實體以及與外部實體的輸入輸出數(shù)據(jù)流的基礎上,將頂層DFD中的加工分解成多個加工,識別這些加工的輸入輸出數(shù)據(jù)流,使得所有頂層DFD中的輸入數(shù)據(jù)流,經(jīng)過這些加工之后變換成頂層DFD的輸出數(shù)據(jù)流。根據(jù)0層DFD中的加工的復雜程
5、度進一步建模加工的內(nèi)容。在建分層DFD時,根據(jù)需求情況可以將數(shù)據(jù)存儲建模在不同層次的DFD中,注意在繪制下層數(shù)據(jù)流圖時要保持父圖與子圖平衡。父圖中某加工的輸入輸出數(shù)據(jù)流必須與它的子圖的輸入輸出數(shù)據(jù)流在數(shù)量和名稱上相同,或者父圖中的一個輸入(或輸出)數(shù)據(jù)流對應于子圖中幾個輸入(或輸出)數(shù)據(jù)流,而子圖中組成這些數(shù)據(jù)流的數(shù)據(jù)項全體正好是父圖中的這一個數(shù)據(jù)流。本問題給出0層DFD,要求根據(jù)描述確定圖中的外部實體。分析題目中描述,并結(jié)合己在圖中給出的數(shù)據(jù)流進行分析。從題目的說明中可以看出,與系統(tǒng)交互實體包括志愿者、捐贈人、募款機構(gòu)和場館,這四個作為外部實體。問題2答案解析: P1:確定活動時間范圍
6、P2:搜索場館 P3:推廣募捐活動 本題考查分層DFD的加工分解,以及父圖與子圖的平衡。圖1-2中對圖1-1的加工3進行進一步分解,根據(jù)說明(3)中對加工3的描述對圖1-2進行分析。首先需要確定活動時間范圍,其輸入數(shù)據(jù)流是活動請求,輸出流為活動時間。然后是搜索場館,其輸入流為活動時間,輸出活動時間和地點,同時向場館發(fā)送的場館可用性請求和獲得的場館可用性分別作為輸入和輸出數(shù)據(jù)流。在確定活動時間和地點的基礎上推廣募捐活動, 活動時間和地點是其輸入流,活動信息作為其輸出流,流向舉辦活動并募集資金,從募款機構(gòu)獲取資金并向其發(fā)放贈品,加工2收集募得的資金和物品,因此3.5還需要將所募集資金作為輸出流
7、。獲取和處理捐贈(資金和物品)時以捐贈請求作為其輸入流,輸出流為所募集的捐贈,因為既有資金又有物品,而從募款機構(gòu)募得的只有資金,將圖1-1中加工3流向加工2的數(shù)據(jù)流,分為所募集資金和所募集物品,而3.5的輸出流中只有所募集資金。因此,P1為確定活動時間范圍,P2為搜索場館,P3為推廣募捐活動。圖1-2中缺失了從2到3.3的活動時間和從3.5到2的所募集資金這兩條數(shù)據(jù)流。題目給出處理和捐贈人之間的交互進一步描述,對3.1進一步建模下層數(shù)據(jù)流圖(圖 1-3)。分解加工3.1,確定相關(guān)數(shù)據(jù)流。其中根據(jù)加工2的捐贈請求進行募集,所募捐贈需要返回給加工2。根據(jù)父圖與子圖的平衡原則,圖1-3中此處也缺失了
8、捐贈請求和所募集資金和所募集物品。 問題3答案解析: D1:捐贈人信息表 D2:已聯(lián)系的捐贈人表;D3:捐贈表 D4:已處理捐贈表 本問題考查2層DFD中數(shù)據(jù)存儲的確定。本案例中,數(shù)據(jù)存儲的描述都是在這一部分描述給出,所以數(shù)據(jù)存儲建模在此層體現(xiàn) 第2題 【說明】某電視臺擬開發(fā)一套信息管理系統(tǒng),以方便對全臺的員工、欄目、廣告和演播廳等進行管理。 【需求分析】 (1) 系統(tǒng)需要維護全臺員工的詳細信息、欄目信息、廣告信息和演播廳信息等。員工的信息包括:工號、姓名、性別、出生日期、電話、住址等。欄目信息主要包括:欄目名稱、播出時間、時長等。廣告信息主要包括:廣告編號、價格等。演播廳信
9、息包括:房間號、房間面積等。 (2)電視臺根據(jù)調(diào)度單來協(xié)調(diào)各個欄目、演播廳和場務。一銷售檔欄目只會占用一個演播廳,但會使用多名場務來進行演出協(xié)調(diào)。演播廳和場務可以被多個欄目循環(huán)使用。 (3)電視臺根據(jù)欄目來插播廣告。每檔欄目可以插播多條廣告,每條廣告也可以在多檔欄目插播。 (4)一檔欄目可以有多個主持人,但一名主持人只能主持一檔欄目。 (5)一名編輯人員可以編輯多條廣告,一條廣告只能由一名編輯人員編輯。 【概念模型設計】 根據(jù)需求階段收集的信息設計的實體聯(lián)系圖(不完整)如圖2-1所示。 【邏輯結(jié)構(gòu)設計】 根據(jù)概念模型設計階段完成的實體聯(lián)系圖,得出如下關(guān)系模式(不完整);
10、演播廳(房間號,房間面積) 欄目(欄目名稱,播出時間,時長) 廣告(廣告編號,銷售價格,(1) ) 員工(工號,姓名,性別,出生日期,電話,住址) 主持人(主持人工號, (2) ) 插播單( (3),播出時間) 調(diào)度單((4) ) 問題:2.1補充圖2-1中的聯(lián)系和聯(lián)系的類型。 問題:2.2根據(jù)圖2-1,將邏輯結(jié)構(gòu)設計階段生成的關(guān)系模式中的空(1)~(4)補充完整,并用下劃線指出空(1)~(4)所在關(guān)系模式的主鍵。 問題:2.3現(xiàn)需要記錄廣告商信息,增加廣告商實體。一個廣告商可以提供多條廣告,一條廣告只由一個廣告商提供。請根據(jù)該要求,對圖2-1進行修改,畫出修改后的
11、實體間聯(lián)系和聯(lián)系的類型。 答案解析 問題1答案解析: 本題考查數(shù)據(jù)庫設計,屬于比較傳統(tǒng)的題目,考查點也與往年類似。本問題考查數(shù)據(jù)庫的概念結(jié)構(gòu)設計,題目要求補充完整實體聯(lián)系圖中的聯(lián)系和聯(lián)系的類型。根據(jù)題目的需求描述可知,一個欄目可以插播多條廣告,而多條廣告也可以在多個欄目中播放,因此欄目和廣告之間存在“插播”聯(lián)系,聯(lián)系的類型為多對多(*:*,或m:n)。根據(jù)題目的需求描述可知,一個欄目可以有多個主持人,而一個主持人只能主持一檔欄目,因此欄目和主持人之間存在“主持”聯(lián)系,聯(lián)系的類型為一對多(1:*,或l:n)。根據(jù)題目的需求描述可知,一個欄目需要使用多名場務來進行演出協(xié)調(diào),場務可以被
12、多個欄目循環(huán)使用,因此演播廳、欄目和場務之間存在“調(diào)度”聯(lián)系,聯(lián)系的類型為1對多對多(1:*:*,或l:m:n)。 問題2答案解析: 本問題考查數(shù)據(jù)庫的邏輯結(jié)構(gòu)設計,題目要求補充完整各關(guān)系模式,并給出各系模式的主鍵。根據(jù)實體聯(lián)系圖和需求描述,廣告記錄廣告編號、銷售價格和編輯人員工號。所以, 對于“廣告”關(guān)系模式,需補充屬性“廣告編號”。廣告編號為廣告的主鍵。根據(jù)實體聯(lián)系圖和需求描述,主持人記錄主持人工號和所屬的欄目名稱。所以,對于“主持人”關(guān)系模式,需補充屬性“主持人工號”。主持人工號為主持人的主鍵。根據(jù)實體聯(lián)系圖和需求描述,插播單需要記錄欄目名稱、廣告編號和播出的時間。 所以,對于“
13、插播單”關(guān)系模式,需補充屬性“欄目名稱”和“廣告編號”。欄目名稱和廣告編號聯(lián)合作為插播單的主鍵。根據(jù)實體聯(lián)系圖和需求描述,調(diào)度單需要記錄欄目名稱、房間號和參與的場務工號。 所以,對于“調(diào)度單”關(guān)系模式,需補充屬性“欄目名稱”、“房間號”和“場務工號”。 欄目名稱、房間號和場務工號聯(lián)合作為插播單的主鍵。 問題3答案解析: 本問題考查數(shù)據(jù)庫的概念結(jié)構(gòu)設計,根據(jù)新增的需求增加實體聯(lián)系圖中的實體的聯(lián)系和聯(lián)系的類型。根據(jù)問題描述,一個廣告商可以提供多條廣告,一條廣告只由一個廣告商提供。則須在廣告商實體和廣告實體之間存在“提供”聯(lián)系,聯(lián)系的類型為1對多(1:*,或l:n) 第3題 【說明】
14、某城市擬開發(fā)一個基于Web的城市黃頁,公開發(fā)布該城市重要的組織或機構(gòu)(以下統(tǒng)稱為客戶)的基本信息,方便城市生活。該系統(tǒng)的主要功能描述如下: (1)搜索信息:任何使用Internet的網(wǎng)絡用戶都可以搜索發(fā)布在城市黃頁中的信息,例如客戶的名稱、地址、聯(lián)系電話等。 (2)認證:客戶若想在城市黃頁上發(fā)布信息,需要通過系統(tǒng)的認證。認證成功后,該客戶成為系統(tǒng)授權(quán)用戶。 (3)更新信息:授權(quán)用戶登錄系統(tǒng)之后,可以更改自己的在城市黃頁中的相關(guān)信息,例如變更聯(lián)系電話等。(4)刪除客戶:對于拒絕繼續(xù)在城市黃頁上發(fā)布信息的客戶,由系統(tǒng)管理員刪除該客戶的相關(guān)信息。 系統(tǒng)采用面向?qū)ο蠓椒ㄟM行開發(fā),在開發(fā)過程中認
15、定出如表3-1所示的類。系統(tǒng)的用例圖和類圖分別如圖3-1和3-2所示。 問題:3.1根據(jù)說明中的描述,給出圖3-1中的A1和A2處所對應的參與者、UC1和UC2處所對應的用例以及(1)處的關(guān)系。 問題:3.2根據(jù)說明中的描述,給出圖3-2中的C1~C5所對應的類名(表3-1中給出的類名)和(2)~(5)處所對應的多重度。 問題:3.3認定類是面向?qū)ο蠓治鲋蟹浅jP(guān)鍵的一個步驟。一般首先從問題域中得到候選類集合,再根據(jù)相應的原則從該集合中刪除不作為類的,剩余的就是從問題域中認定出來的類。簡要說明選擇題選類的原則,以及對候選類集合進行刪除的原則。 答案解析 問題1答案解析:
16、 A1 :網(wǎng)絡用戶或 IntemetClient A2:授權(quán)用戶或 RegisteredClient UC1:更新信息 UC2:認證 (1): include 本題屬于經(jīng)典的考題,主要考查面向?qū)ο蠓治龇椒ㄒ约癠ML的用例圖和類圖的相關(guān)應用。 本問題要求將圖3-1所給出的用例圖補充完整。用例圖的構(gòu)成要素有:參與者(Actor)、用例(Usecase)以及用例之間的關(guān)系。 本題背景描述簡單,再結(jié)合圖3-1中給出的兩個用例“搜索信息”和“刪除客戶”,很容易確定出“認證”、“更新信息”就是需要補充的用例。下面只需要確定參與者A1、A2以及這兩個用例與A1、A2之間的關(guān)系即可將圖補充完整。
17、在說明中出現(xiàn)了兩類角色: 客戶和系統(tǒng)管理員。系統(tǒng)管理員已經(jīng)作為參與者明確標識在3-1中了。那么A1和A2只能從“客戶”這個角色中產(chǎn)生。明顯地,“客戶”在說明中被細分成了兩類:網(wǎng)絡用戶和授權(quán)用戶,而認證用戶是一種特殊的網(wǎng)絡用戶。因此,A1應該對應“網(wǎng)絡用戶”,A2 應該對應“授權(quán)客戶”。要成為授權(quán)用戶,必須首先經(jīng)過認證。成為授權(quán)用戶之后,不僅可以搜索信息,還具有更新信息的權(quán)限。更新信息時要求首先登錄系統(tǒng),因此“登錄” 是“更新信息”操作中所包含的一個必須步驟。由此可以確定UC1對應“更新信息”, UC2對應“認證”,而(1)處的關(guān)系應該是include問題2解析: Cl:IntemetClie
18、nt C2:CustomerList C3:RegisteredClientC4:AdministratorC5:Customer (2)1 (3)0..* (4) 0..1 (5) 0..1 本問題考查類建模。表3-1已經(jīng)給出了類列表,這樣對照圖3-2尋找對應關(guān)系即可。圖3-2中有兩個明顯的結(jié)構(gòu):繼承(Cl、C3和C4之間)和聚集(C2和C5之間)。 先確定聚集關(guān)系相關(guān)的類。由表3-1可以找出兩個明顯具有部分整體概念的類: CustomerList和Customer,由類的說明可以看出,CustomerList表示整體概念,Customer表示部分概念。由此可以確定C2對應Cust
19、omerList, C5對應Customer。同時可以確定出這兩個類之間的多重度,即(2)處應為1,(3)處為0..*。 下面來確定繼承關(guān)系相關(guān)的類。圖3-1中已經(jīng)出現(xiàn)了一個繼承關(guān)系(A1和A2之間), 這就給出了一個明顯的提示:圖3-2中的繼承關(guān)系與這兩類角色相關(guān)?;氐奖?-1中,發(fā)現(xiàn)了3個與角色相關(guān)的類:IntemetClient (網(wǎng)絡用戶)、RegisteredClient (授權(quán)用戶)和Administrator (系統(tǒng)管理員)。由于己經(jīng)確定了C5是Customer,而能夠?qū)ustomer 進行操作的只有系統(tǒng)管理員。因此具有繼承關(guān)系的這3個類應分別是:C1-網(wǎng)絡用戶,C3-授權(quán)用
20、戶,C4-系統(tǒng)管理員。(4)、(5)處的多重度也可以確定下來,均為0..1。問題3答案解析: 選擇候選類時通??紤]的是問題域中自然存在的名詞。 具有下列特征的候選類需要刪除:含義相近(冗余)、含義不明確的對象、暗示實 現(xiàn)方式的、表示屬性或特征、有動詞含義的名詞(表示行為和方法)。 本問題考查面向?qū)ο蠓治鲞^程中認定類/對象的過程。通常分為兩個步驟進行,首先將問題域(需求分析)中所有自然存在的名詞都選出來,構(gòu)成候選類集合。然后針對這個候選類集合,將滿足以下原則的名詞從候選類集合中刪除:含義相近(冗余)、含義不明確的對象、暗示實現(xiàn)方式的、表示屬性或特征、有動詞含義的名詞(表示行為和方法)。 最
21、后剩余的就是所認定的類/對象。 第 4 題 閱讀下列說明和C代碼,回答問題1至問題3,將解答寫在答題紙的對應欄內(nèi)。 【說明】設有m臺完全相同的機器運行n個獨立的任務,運行任務i所需要的時間為ti,要求確定一個調(diào)度方案,使得完成所有任務所需要的時間最短。 假設任務已經(jīng)按照其運行時間從大到小順序。算法基于最長運行時間作業(yè)優(yōu)先的策略;按順序先把每個任務分配到一臺機器上,然后將剩余的任務依次放入空閑的機器。 【C代碼】 下面是算法的C語言實現(xiàn)。 (1)常量和變量說明 m:機器數(shù) n:任務數(shù) t[]:輸入數(shù)組,長度為n,其中每個元素表示任務的運行時間,下標從0開始 s[][]:
22、二維數(shù)組,長度為m*n,下標從0開始,其中元素s[i][j]表示機器i運行的任務j的編號
d[]:數(shù)組,長度為m,其中元素d[i]表示機器i的運行時間,下標從0開始
count[]:數(shù)組,長度為m,下標從0開始,其中元素count[i]表示機器i的運行任務數(shù)
i:循環(huán)變量
j:循環(huán)變量
k:臨時變量
max:完成所有任務的時間
min:臨時變量
(2)函數(shù)schedule
void schedule(){
int i,j,k,max=0
for(i=0;i 23、
}
for(i=0;i 24、的時間
if( (4)){
max=d[i];
}
}
}
問題:4.1 根據(jù)說明和c代碼,填充C代碼中的空(1)~(4)。
問題:4.2根據(jù)說明和C代碼,該問題采用了 (5) 算法設計策略,時間復雜度為 (6) (用O符號表示)。
問題:4.3考慮實例m=3(編號0~2),n=7(編號0~6),各任務的運行時間為{16,14,6,5,4,3,2}。
則在機器0、1和2上運行的任務分別為(7)、(8)和(9)(給出任務編號)。從任務開始運行到完成所需要的時間為 (10) 。
問題1答案解析:
(1) d[i] = t[i](2) i=m (3) s 25、[k][count[k]] =i (4) max 26、元素的值,故空格(3)填寫s[k][c0unt[k]] = i;最后確定從任務開始到結(jié)束所需要的時間,從所有機器的運行時間中選擇運行時間最長的機器的運行時間,即最大的d[i], 因此空格(4)填寫max 27、6。由于任務2的時間最短,故任務3在機器2上運行,機器2上的運行時間為6+5=11,仍然是時間最短,任務4繼續(xù)在機器2上運行,機器2上的運行時間為11+4=15。此時機器1上的運行時間最短,任務5在機器1上運行,機器1上的運行時間為14+3=17。此時機器2上的運行時間最短,任務6在機器2上運行, 機器2上的運行時間為15+2=17。所以任務分配完成。根據(jù)此分配,在機器0上運行任務0,運行時間為16;機器1上運行任務1和5,運行時間為17;在機器2上運行任務 2, 3, 4和6,運行時間為17。因此從任務開始到結(jié)束的時間為17。
第 6 題
【說明】
現(xiàn)要求實現(xiàn)一個能夠自動生成求職簡 28、歷的程序。簡歷的基本內(nèi)容包括求職者的姓名、性別、年齡及工作經(jīng)歷等。希望每份簡歷中的工作經(jīng)歷有所不同,并盡量減少程序中的重復代碼。
現(xiàn)采用原型(Prototype)模式來實現(xiàn)上述要求,得到如圖6-1所示的類圖。
【Java代碼】
class WorkExperience(1) Closeable {//工作經(jīng)歷
private string workDate;
private string company;
public Object Clone(){
(2) ;
obj.workDate=this.workDate;
pany=pany;
ret 29、urn obj;
}}
class Resume(3)Closeable { //簡歷
private string name; private string sex; private string age; private WorkExperience work;
public Resume(string name){
this name=name; work=new SetWorkExperience();
}
private Resume(WorkExperience work){
this work= (4);
}
public void Se 30、tPersonallnfo(string sex, string age;){ /* 代碼略 */ }
public void SetWorkExperience(string workDate, string company){ /* 代碼略 */ }
public Object Clone(){
Resume obj= (5) ;
// 其余代碼省略
return obj;
}
}
class WorkResume {
public static void main(string[]arg){
Resume a=new Resume(“張 31、三”);
a.SetPersonallnfo(“男”,“29”);
a.SetWorkExperience(“1998~2000”,“XXX公司”);
Resume b= (6) ;
b.SetWorkExperience(“2001~2006”,“YYY公司”);
}
}
問題:6.1閱讀下列說明和Java代碼,將應填入(n)處的字句寫在答題紙的對應欄內(nèi)。答案解析:
(1) implements
(2) WorkExperience obj = new WorkExperience()
(3) implements
(4) (WorkExperience) 32、work.Clone()
(5) new Resume(this.work)
(6) (Resume)a.Clone()
本題考査原型(Prototype)模式的概念及應用。Prototype模式是一種對象創(chuàng)建型模式。Prototype模式通過給出一個原型對象來指明所要創(chuàng)建的對象的類型,然后通過復制這個原型對象的方法,創(chuàng)建出更多同類型的對象。 原型模式又可以分為兩種:淺克隆和深克隆。淺克隆僅僅復制所考慮的對象,而不復制它所引用的對象,也就是其中的成員對象并不復制;深克隆除了對象本身被復制外,對象包含的引用也被復制,即成員對象也被復制。原型模式的優(yōu)點是:
(1) 向客戶隱藏制造新實例的復 33、雜性;
(2) 提供讓客戶能夠產(chǎn)生未知類型對象的選項;
(3) 在某些環(huán)境下,復制對象比創(chuàng)建新對象更有效。
在一個復雜的類層次中,當系統(tǒng)必須從其中的許多類型創(chuàng)建新對象時,可以考慮原型模式。使用原型模式的缺點是:對象的復制有時相當復雜。Prototype模式的結(jié)構(gòu)如下圖所示。題目利用原型模式來實現(xiàn)自動生成多份求職簡歷,而且每份簡歷的工作經(jīng)歷有所差別。題目中使用的是原型模型中的深克隆。題目中的類Cloneable對應上圖中的類Prototype, Resume和WorkExperience,分別是兩個具體克隆類。由于WorkExperience是Resume的一部分,所以在Resume中有一 34、個WorkExperience類型的成員對象。下面來分析程序。Cloneable是Java中的一個接口,其中已經(jīng)定義f Clone()接口,可以直接在程序中使用。對于兩個具體克隆類Resume和WorkExperience來說,只要實現(xiàn)Cloneable即可。 因此第(1)、(3)空均填寫implements??眨?)出現(xiàn)在類WorkExperience成員函數(shù)Clone()的定義中。WorkExperience作為具體克隆類,應實現(xiàn)Cloneable中的方法Clone()。根據(jù)已給出的代碼的提示,在Clone() 方法中,應再創(chuàng)建一個WorkExperience對象,而這個對象的名稱就是ob 35、j。因此(2)空處應填 WorkExperience obj = new WorkExperience() 。本題采用的是深克隆,除了對象本身被復制外,成員對象也被復制。work是Resume 中的成員對象,所以(3)空是對成員對象的克隆,因此應調(diào)用work對象的克隆操作, 即(WorkExperience)work.Clone() 。第(4)空出現(xiàn)在Resume的Clone()方法中,功能與第(2)空類似,完成Resume對象的克隆,所以第(4)空應填new Resume(this.work)。第(5)空是對原型模式的應用。用簡歷a克隆出簡歷b,即調(diào)用a的克隆操作,所以第(5)空應填(Resume)a.Clone()。
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 現(xiàn)代文閱讀之小說人物形象課件
- 3第12課蘇東的艱難探索
- 《第二節(jié)--探究環(huán)境污染對生物的影響》課件-(同課異構(gòu))2022年課件
- 牛津譯林版七下英語7bunit1dreamhomesreading課件1
- 六年級語文《一個這樣的老師》教學課件
- 六年級安全教育-運動的自我監(jiān)控課件
- 五年級下冊數(shù)學優(yōu)秀教學課件《解決問題》人教新課標
- 27清澈的湖水 (2)
- 49稍復雜的分數(shù)乘法應用題練習
- 江蘇省高考物理二輪復習專題一力與物體的平衡課件
- 小松鼠找花生課件(教育精品)
- 22跨越海峽的生命橋 (2)
- 人力資源環(huán)境分析
- 《空氣》課件-(省優(yōu))2022年人教版化學課件-2
- 鐵路與城市軌道交通振動與噪聲