




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、北京郵電大學200X-200X學年第一學期面向對象的設計方法與C+編程期末考試試卷+擴展+復習題試題一:填空題(沒空一分,共20分)請在括號內填入你認為正確的內容。軟件工程是指導(計算機軟件)開發(fā)和維護的(工程學科)。應用軟件工程方法開發(fā)軟件系統(tǒng)的根本目的是為了改善下述四項軟件品質因素: 提高所開發(fā)的軟件系統(tǒng)的(效率);降低所開發(fā)的軟件系統(tǒng)的(成本); 改善所開發(fā)的軟件系統(tǒng)的(質量); 縮短所開發(fā)的軟件系統(tǒng)的(開發(fā)周期)。抽象的對象模型由(屬性)和(方法)兩個部分構成。一個消息必須具備的兩個要素是(接受消息的對象標識)和(接受消息的對象的方 法標識)。一個對象擁有另一個對象的(部分)或(全部)
2、的屬性和方法的關系則稱為(繼 承)關系。失去(創(chuàng)建具體對象實例的(制造對象)能力的類成為抽象類。一個類的屬性不能出現(xiàn)對象拷貝則被稱為(類屬性)。面向對象技術的三大特征是(封裝)、(繼承)和(多態(tài))。共生包容關系中的被包容類對象與包容類對象是(同時連帶)生成的。同時出現(xiàn)在兩個具有關聯(lián)關系的對象內的相同屬性被稱為(連接屬性)。課程復習-補充題:軟件的生存周期是一個軟件產(chǎn)品從(定義)、(開發(fā))、(使用)至4(廢棄)的時 間的總合。C+語言中的靜態(tài)成員函數(shù)是(類方法)的具體實現(xiàn)。連接屬性是(關聯(lián)/鏈接)關系的兩個對象內的屬性。邊界類與(actor (角色)對呈一一對應關系。復合聚合關系中的(聚合)類對
3、象極其依賴(被聚合)類對象,在實現(xiàn)上往往具有 被同時(構造)的特征,因而具有極高的(耦合度)。試題二:是非判斷題(每題1分,共20分)請在題后的括號內填入5(你認為正確時)或X(你認為錯誤時)。消息必須含有返回信息。(錯)一個類必然具有生成對象的能力。(錯)(抽象類不具備)在包容關系中的被包容類也具有封裝性。(對)關聯(lián)關系只是一個動作的抽象。(錯)表示兩個類之間的聯(lián)系,通過這種聯(lián)系,一個類可以訪問到另外一個類的屬性和方法。一個類也可以接收消息。(對)關聯(lián)關系中的作用名標識了該關聯(lián)關系的終點對象的恰當?shù)匚?。(對狀態(tài)圖是反映整個系統(tǒng)動態(tài)運行時狀態(tài)變化的圖形工具。(對多重繼承必然存在不確定問題。(錯
4、候選鍵是具有關聯(lián)關系的兩個類中屬性的一部分。(對面向對象設計方法的一個重要目標便是實現(xiàn)“可重用軟件的設計”。(對繼承關系中的成員覆蓋就是重載的一種形式。(錯)(多態(tài)的一種)一個派生類對象的方法不能訪問其繼承的基類對象的某些成員是由于這些基類對象的 成員不存在于派生類對象中。(錯)(繼承的方式不同public protected private)一個派生類對象也可以向其繼承的積累對象發(fā)消息。(對狀態(tài)的自動變遷是由于一個內部的事件所引發(fā)的。(錯由于一個內部的事件所引發(fā)的是條件變遷抽象類是不包含任何屬性的類。(錯調用類方法必須向該類的對象發(fā)消息。(錯復合包容關系中的被包容對象必須在包容對象被激活的同
5、時構造。(對繼承關系中也存在有關聯(lián)關系。(對使用C+語言智能編寫面向對象的程序。(錯)(這不是扯淡嗎在關聯(lián)關系的兩端插入角色描述(Role Name)有助于對該關聯(lián)關系的可讀性。(對課程復習-補充題:只有屬性的類也具有封裝性。(X在面向對象技術系統(tǒng)分析中,問題陳述是獲取對象的重要來源。(J在面向對象技術系統(tǒng)分析中不使用數(shù)據(jù)流圖。(X一個對象的方法只能改變本對象的屬性值。(X)對象行為1.主動:直接改變自身屬性值;2.被動:通過訪問其他對象而改變自身屬性值一個對象內存在另一個對象的關系稱為包容關系0(X)(聚合關系)含有定性的屬性的類就是抽象類。(X(抽象類是包含一種或多種抽象方法的類,它本身不
6、需要構造實例。定義抽象類后,其它類可以對它進行擴充并且通過實現(xiàn)其中的抽象方法,使抽象類具體化。)當使用一個類方法時,消息是傳向一個類的。(J一個對象所呈現(xiàn)的不同狀態(tài)稱為多態(tài)。(X)“一個接口,多種實現(xiàn)”,就是同一種事物表現(xiàn)出的多種形態(tài) 叫做 多態(tài)靜態(tài)鏈接是在面向對象技術語言編譯時建立的對象關系。(JRUP的開發(fā)周期由三個階段所構成。(X)(四個 初始階段一細化一構造一交付)RUP中的系統(tǒng)行為是對其全部的外來激勵進行作用和反作用。(VRUP中的系統(tǒng)行為可以從對象模型中獲得。(X)(用例模型)試題三:單項選擇題(每題1分,共16分)下列各題均提供了四個可供選擇的答案,但其中只有一個是正確的,請在各
7、題中的括號 內填入你認為正確的答案代號A、B、C或D;不填或填錯不得分。1.面向對象技術是(A指導構建軟件的系列法則一種探索可被認同的新理論由Grady Booch提出的一種動態(tài)的新語言基于抽象與模塊化原理的新技術( B )項目對建模的要求度最小。立交橋沙發(fā)列車光盤一個模型(C)。對于十分理解其工作內容的團隊成員可以不使用必須是有結構的和動作的體系是一個實例的簡化一個構建精確計劃的原由在UML中,使用(A)詞匯表示可以將具有共同用途的模型元素組成多個組。PackageClassEncapsulationGeneralization最好的模型將與(B)聯(lián)系在一起。Java-Script 代碼實體
8、C+與面向對象開發(fā)者聯(lián)系在一起的命題使用UML建模時(C)的處理不是其最基本的特征。迭代與增量用例驅動彈性設計以架構為核心建模的根本目的是(D)。有助于一個系統(tǒng)的可視化獲得一個準備構建系統(tǒng)的模板見證設計成果上述三條的總和一個對象的狀態(tài)(C)。是一個被稱為“狀態(tài)”的屬性或屬性集始終不發(fā)生常規(guī)的變化被描述成對象的屬性和關系僅是一個對象可能存在的條件以下RUP中的(D)是聚焦在結構問題上。用例處理實現(xiàn)邏輯短語(B)可以最好的體現(xiàn)泛化關系。is a part ofis a kind ofis a replica ofis an inheritance of封裝(B )。允許對處于封裝態(tài)的內容進行直接處
9、理涉及到信息的隱藏會導致維護成本的提高在實現(xiàn)時所引起的改變會影響到客戶端一個可見的對象行為可以被模型化為該對象的(C)。屬性責任操作方法多態(tài)可以被描繪成(A)。在一個接口上隱藏多個不同實現(xiàn)的形態(tài)繼承信息放置形態(tài)泛化將模塊與計劃合并為一體化的目的是(A)。在可管理的單元上降低一些復雜程度建構的模塊便于交流創(chuàng)建巨大且難于理解的系統(tǒng)系統(tǒng)的局部不能獨立開發(fā)Rational推出的RUP方法中所倡導的迭代式開發(fā)模式的最根本目的是為了( C)。降低開發(fā)成本降低開發(fā)風險減少開發(fā)時間節(jié)省開發(fā)的人力資源一個類(D)。是一個對象的封裝表現(xiàn)為一個對象的分層結構是一個對象的實例是一個對象的抽象定義試題四:分析題(共30
10、分)1.指出下列對象之間的關系。(每題1分,共10分)1)軟件工程與面向對象的分析與設計方法(包容關系)2)矛與盾(關聯(lián)關系)3)數(shù)字交換系統(tǒng)與通信系統(tǒng)(繼承關系)4)人與心臟(包容關系)5)Pentium芯片與Pentium IV芯片(繼承 關系)6)計算機與磁帶機(關聯(lián)?關系)7)多媒體與三維圖形設備(繼承關系)8)石油與汽油(關聯(lián)?關系)9)道路與車輛(關聯(lián)關系)10)煤炭與碳元素(繼承關系)-抽象類-繼承課程復習-補充題:地球與太陽(關聯(lián)關系)家庭影院與首箱(包容關系)信息與印刷品(繼承關系)鑰匙與鎖(關聯(lián)關系)燈泡與燈絲(包容 關系)計算機與打印機(關聯(lián)關系)公司與雇員(包容關系)建
11、筑體與墻(包容 關系)2.試在下圖給定的括號內寫出已知關聯(lián)聯(lián)系得作用名(Role Name)。(每圖1分,共4分)閱讀下述C+程序后試在其右側對應的對象圖中填充描述其關系的對象模型符號。(3分)#include using namespace std; class B;class 計int i;B* p;pubis c.fA() i = a; p = NULL;A(int):class B A* p;pubis c.f心p = NULL;x) p = x;A:A(int x):i(x) p = neu 0 x; ucidA a(3);B b(&a);4.閱讀下述C+程序后試在其右側對應的對象圖
12、中填充描述其關系的對象模型符號,并試在題目的下方寫出執(zhí)行本程序的輸出結果。(4分) ttinclude using namespace std;class A protected: int 1;public,A(int x): 1(x) int uirtual operator*() =class B : public A A* P;publ* c.fHint x, fi* y = NULL):A(x)Int operator*() return !*p;return 1;if(P) elseucid main() A* p1 = nevi A* p2 = neviB; B(2, cout*p
13、2p2 - p - pl5.某大學推行完全學分制的學籍管理方式,其規(guī)定如下:學生在入學后的第一個學年內必 須完成學績分超過23分才能被允許(收到確認通知)進入第二學年的學習,否則將被 按照肄業(yè)處理,進入第二學年后可以被允許(收到確認通知)進入下一個學年學習的最 低學績分數(shù)分別為27、30和30分(含對應分數(shù)者)。完成第四個學年的學績分30分(含 30)以上者可以準許畢業(yè)(獲得畢業(yè)證書)。若在后三學年中的某一年中沒有完成該學 年規(guī)定的學績分者,則可以在對應學年中重新學習一年,若仍不能達到規(guī)定學績分者的 學籍將被自動按肄業(yè)處理。試據(jù)上述腳本繪制出對應的狀態(tài)圖。(9分)課程復習-補充題:一盞信號燈在
14、三種不同的外電壓作用下可呈現(xiàn)出不同的顏色:外電壓為0V時信號燈不 亮;外電壓為50V時信號燈呈紅色;外電壓為100V時信號燈呈黃色;外電壓為150V時信 號燈呈綠色。在不改變外電壓的條件下,該信號燈在呈現(xiàn)黃色或綠色20秒后會分別自動變 回紅色或黃色。若此時改變其外電壓則信號燈的顏色仍會呈現(xiàn)為對應電壓的顏色(如100V 外電壓的作用下變?yōu)辄S色;在150V外電壓的作用下會變?yōu)榫G色)。試繪出該信號燈顏色變 化的狀態(tài)圖。解:(設時間條件為Time)本題的狀態(tài)圖如下:50Vr150V試題五:改寫、補做與糾錯題(共14分)1.下述C+程序結構為類B繼承類A的派生結構,以不改變對象關系結構為前提,試在源 程
15、序的右側寫出只將基類變?yōu)轭惸0褰Y構的全部C+代碼,并修改程序內與其相關的其 他部分的配套語句。(7分)修改前:#:.nclude using namespace std; class A protected fhit L; public fA(int x) z.t (x) hit uirtual operator() return L;class B : publtc A prstected thit L;publtc fB(int x, intfi(y) hit operator?() return i.;uoid nain() A* p = neu 2); CJiut*pendl;修改后:
16、ttinclude using namespace std; template class A protected:T1 i; public.fA(T1 x):i(x) T1 uirtual operator() return i ;class B :t public fi protected:int i;public.fx, int y): 1 (x), fi(y) int operator!() return i;; uoid main() p = neu i?(1, 2);(:t:;ut*pendl;課程復習-補充題:設下述C+程序運行于字長為32位的硬件環(huán)境中,請在以下C+程序的右側寫
17、出將該 源程序變?yōu)轭惸0宓膶绦虼a。修改前:ttinclude using namespace stzd; class A intpublic tartier;coutorder;修改后: ttinclude us.ng namespace std; template class A T1 order;publ Ic t no coutsirder;A(int x):order(x) int operator*() return order;A(T1 x):order(x) T1 operator?() return Jirder;class B n* p;public tB(int x)
18、 p=new Ax; int Getssrder(int x) return *px;uoid nain() B b(2);(int i = xj; i 2; i+) coutb.GetSrder(i)endl:cin.get();templateclass B T2* p;public fB(int x) p=new T2x;.T3 GetOrder(int x) return ?px;;uoid nain() 8A,int b(3):Forfint i = 3; i 3; i+) coutb .GetOrder(i)endl;cin .get();2.下述C+程序存在若干處錯誤,以不改變程
19、序結構為前提,請在出錯的行首做一標記(如*),并將改動最少的正確語句寫在所在行下方或出錯部位的右側。(7分) #include using namespace std;class A int i;public:A(int x = 8):i(x) $ int get() return i;I class B : public A public:B(int x = 1) :A(x) _$ uoid operator?() couti = get()endl;class C : public B int i;public:$ C(int x = 2, int y) :B(x), i(y) int o
20、perator+=(AR x) return i += x.get();int get() return i;uoid main() A& p1 = *(A*)new B();A& p2 = *(A*)new C(1O);$ ?*p1;/display i = 1;$ coutp2i = *p2 += p1endl;/display p2i = 11 coutp2i = p2.g|t() ;/display p2i = 11 cin.get();更正錯誤如下:No.1 $ :uirtual int get return i;uirtual uoid operator*() = 0;uirtua
21、l int operator+=( Afe x) = 0;No.2 $ :在標志處下一行添加如下語句int operator+=(A fc x) return get();No.3 $ :C(int y, int x =, i(y)No.4 $ :!p1;/display i = 1;No.5 $ :coutp2i = (p2 += p1)endl;/display p2i = 11課程復習-補充題:1.下述C+程序存在若干處錯誤,以不改變程序結構為前提,請在出錯的行首做一標記(如 *),并將改動最少的正確語句寫在所在行或出錯部位的右側。例1:#iiicludeusing namespace
22、std:class Aprotected:int i;public:A(intx):i(x)viftiial int operator!()=0;x irtiial mt operator- ()=0:class B:public Aint i:public:B(int xAnt y):i(x).A(y)int operator!Q(retimi i:)int operatoT-()remm A: :i;:void mam()A* p=newB(2.1):coutI=y(*p) endl;/Display:I=1例2:# in c hide using namespace std:class Aprotected:int i;public:virtual int op era tor-()0:Tiituai int opei atoi !Q=0:class B:public Aprotecled:int i:A* p:public:B(int y):i(x).A(y) p=(A*)thi$;int operator!()letimi i:儼int op er at oi-() (retimi p-i:/標準規(guī)則限制必須用基類強制更改為:iiir operator- () letmn A甄;void ma in ()
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 專項5 標點(解析版)
- 2025年初中教科版八年級上冊物理2.3測量物體運動的速度說課稿
- 2.2 聲音的特性 說課稿-2025年初中人教版八年級物理上冊
- 品牌戰(zhàn)略規(guī)劃作業(yè)指導書
- 電信行業(yè)網(wǎng)絡優(yōu)化及增值業(yè)務拓展方案
- 垃圾焚燒發(fā)電廠項目劃分
- 房地產(chǎn)開發(fā)項目可行性研究論文
- 股份制改革實施路徑研究
- 快遞行業(yè)長期物流合作協(xié)議
- 針對提高團隊協(xié)作效率的解決方案
- 《油氣儲存企業(yè)安全風險評估細則(2025年修訂版)》解讀與培訓
- 2025年安徽職業(yè)技術學院單招職業(yè)適應性測試題庫匯編
- 2025年內蒙古北方職業(yè)技術學院單招職業(yè)傾向性測試題庫完美版
- Deepseek 學習手冊分享
- 護理新知識小講課
- 電網(wǎng)工程設備材料信息參考價(2024年第四季度)
- 2024年浙江省中考社會試卷真題(含標準答案及評分標準)
- 20以內退位減法口算練習題100題30套(共3000題)
- 4925095728國內外中小學作業(yè)研究綜述
- 外墻粉刷施工方案(完整版)
- 華為-原理圖繪制評審規(guī)范-checklist
評論
0/150
提交評論