軟件設(shè)計(jì)模式B張?zhí)斐蒧第1頁(yè)
軟件設(shè)計(jì)模式B張?zhí)斐蒧第2頁(yè)
軟件設(shè)計(jì)模式B張?zhí)斐蒧第3頁(yè)
軟件設(shè)計(jì)模式B張?zhí)斐蒧第4頁(yè)
軟件設(shè)計(jì)模式B張?zhí)斐蒧第5頁(yè)
已閱讀5頁(yè),還剩4頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

東北大學(xué)繼續(xù)教育學(xué)院軟件設(shè)計(jì)模式 試卷(作業(yè)考核線上)B卷學(xué)習(xí)中心:福建南平奧鵬學(xué)習(xí)中心院校學(xué)號(hào):C03599011730067姓名:王華仁(共頁(yè))總分題號(hào) 二三四五六七八九十得分一:?jiǎn)芜x題(共40分,20小題,每小題2分。請(qǐng)將答案填入下表)題號(hào)12345678910答案ABABDDCACA題號(hào)11121314151617181920答案ACDDBCCADC.以下標(biāo)識(shí)符中,正確的是:A、_totalB3abcCwhileDclass.在c#程序中,入口函數(shù)的正確聲明為:TOC\o"1-5"\h\zstaticintmain(){ }staticvoidMain(){ }staticvoidmain(){ }voidMain(){ }.C#中MyClass為一自定義類,其中有以下方法定義publicvoidHello(){..}使用以下語(yǔ)句創(chuàng)建了該類的對(duì)象,并使變量obj引用該對(duì)象:MyClassobj=newMyClass();那么,可如何訪問(wèn)類MyClass的Hello方法?obj.Hello();obj::Hello();課程名稱:軟件設(shè)計(jì)模式 1MyClass.Hello();MyClass::Hello();.在C#中,表示一個(gè)字符串的變量應(yīng)使用以下哪條語(yǔ)句定義?CStringstr;stringstr;Dimstrasstringchar*str;.結(jié)構(gòu)化程序設(shè)計(jì)的3種結(jié)構(gòu)是:A.順序結(jié)構(gòu)、if結(jié)構(gòu)、for結(jié)構(gòu)if結(jié)構(gòu)、if…else結(jié)構(gòu)、elseif結(jié)構(gòu)while結(jié)構(gòu)、do…while結(jié)構(gòu)、foreach結(jié)構(gòu)D.順序結(jié)構(gòu)、分支結(jié)構(gòu)、循環(huán)結(jié)構(gòu).能正確表示邏輯關(guān)系“a>=10或a<=0”的C#語(yǔ)言表達(dá)式是:a>=10ora<=0a>=10|a<=0a>=10&&a<=0a>=10||a<=0.分析下列C#語(yǔ)句,注意類MyClass沒(méi)有訪問(wèn)修飾符:namespaceClassLibrary1(classMyClass(publicclasssubclass(inti;)))若必須為類MyClass添加訪問(wèn)修飾符,并使MyClass的可訪問(wèn)域保持不變,則應(yīng)選擇:privateprotectedinternalpublic課程名稱:軟件設(shè)計(jì)模式.在類的外部可以被訪問(wèn)的成員是:A.public成員B.private成員C.protected成員D.protectedinternal成員.在定義類時(shí),如果希望類的某個(gè)方法能夠在派生類中進(jìn)一步進(jìn)行改進(jìn),以處理不同的派生類的需要,則應(yīng)將該方法聲明成:sealed方法public方法visual方法override方法.C#中,回車字符對(duì)應(yīng)的轉(zhuǎn)義字符為:\r\f\n\a.判斷下列類MyClass的定義中哪些是合法的抽象類?abstractclassMyClass{publicabstractintgetCount();}abstractclassMyClass{abstractintgetCount();}privateabstractclassMyClass{abstractintgetCount();}sealedabstractclassMyClass{abstractintgetCount();}.已知a、b、c的值分別是4、5、6,執(zhí)行下面的程序段后,判斷變量n的值為:inta,b,c,n;if(c<b)n=a+b+c;elseif(a+b<c)n=c-a-b;elsen=a+b;A.3B.-3C.9D.15.MyClass為一個(gè)自定義的類,則下列語(yǔ)句創(chuàng)建了多少個(gè)類MyClass的對(duì)象?MyClass[,]myArray=newMyClass[2][3];0236課程名稱:軟件設(shè)計(jì)模式.下面是幾條動(dòng)態(tài)初始化二維數(shù)組的語(yǔ)句,指出其中正確的:intarr5[][]=newint[4,5];int[][]arr6=newint[4,5];intarr7[,]=newint[4,5];int[,]arr8-newint[4,5];.下面有關(guān)析構(gòu)函數(shù)的說(shuō)法中,不正確的是:A.析構(gòu)函數(shù)中不可以包含return語(yǔ)句一個(gè)類中只能有一個(gè)析構(gòu)函數(shù)C.析構(gòu)函數(shù)在對(duì)象被撤銷時(shí),被自動(dòng)調(diào)用D.用戶可以定義有參析構(gòu)函數(shù).下列說(shuō)法哪個(gè)正確?A.不需要定義類,就能創(chuàng)建對(duì)象B.屬性可以定義為抽象的C.對(duì)象中必須有屬性和方法D.常量不能作為類成員.下面有關(guān)靜態(tài)方法的描述中,正確的是:A.靜態(tài)方法屬于類,不屬于實(shí)例B.靜態(tài)方法可以直接用類名調(diào)用C.靜態(tài)方法中,可以訪問(wèn)非靜態(tài)的局部變量D.靜態(tài)方法中,可以訪問(wèn)靜態(tài)的變量.以下描述錯(cuò)誤的是:A.在C++中支持抽象類,但在C#中不支持抽象類。C++中可在頭文件中聲明類的成員,而在CPP文件中定義類的成員;在C#中沒(méi)有頭文件并且在同一處聲明和定義類的成員。C.在C#中可使用new修飾符顯式隱藏從基類繼承的成員。D.在C#中要在派生類中重新定義基類的虛函數(shù)必須在前面加Override。.下列關(guān)于構(gòu)造函數(shù)的描述正確的是:A.構(gòu)造函數(shù)可以聲明返回類型。B.構(gòu)造函數(shù)不可以用private修飾C.構(gòu)造函數(shù)必須與類名相同D.構(gòu)造函數(shù)不能帶參數(shù)20.變量x的值為25,要輸出x的值,下列正確的語(yǔ)句是:System.Console.writeline(“x”)課程名稱:軟件設(shè)計(jì)模式System.Console.WriteLine(“x”)System.Console.writeline("x={0}”,x)D.System.Console.writeline(“x={x}”)二:判斷題(共20分,20小題,每小題1分。請(qǐng)將答案J或乂填入下表)題號(hào)12345678910答案XXXXJJXXXX題號(hào)11121314151617181920答案JXJJJXJXJJ.軟件危機(jī)是開發(fā)軟件的開發(fā)工具功能不強(qiáng)造成的。(X.結(jié)構(gòu)化程序設(shè)計(jì)的3種基本結(jié)構(gòu)是順序、循環(huán)和選擇。(X.面向數(shù)據(jù)流的設(shè)計(jì)以面向?qū)ο蠓治鲭A段的數(shù)據(jù)流圖為基礎(chǔ)。(X.軟件設(shè)計(jì)主要是要求功能強(qiáng)大,對(duì)于說(shuō)明文檔的要求則可以適當(dāng)放松。(X.軟件測(cè)試方法主要白盒測(cè)試和黑盒測(cè)試兩種。(J.螺旋模型包括制定計(jì)劃、概要設(shè)計(jì),詳細(xì)設(shè)計(jì)和工程實(shí)施四個(gè)主要部分。(J.面向?qū)ο蠓椒ㄊ菑乃惴槌霭l(fā)點(diǎn)來(lái)構(gòu)造系統(tǒng)。(X.在面向?qū)ο蠓椒ㄖ?,封裝使得外界無(wú)法存取對(duì)象的內(nèi)部信息。(X.面向過(guò)程方法的缺點(diǎn)是過(guò)程和數(shù)據(jù)結(jié)合的過(guò)于緊密。(X.面向?qū)ο蟪绦蛟O(shè)計(jì)應(yīng)該遵循低內(nèi)聚、高耦合的原則。(X.消息可以用順序圖和協(xié)作圖這兩種圖來(lái)表示。(J.狀態(tài)圖、順序圖、協(xié)作圖和部署圖屬于動(dòng)態(tài)建模機(jī)制。(X.順序圖描述系統(tǒng)中對(duì)象間通過(guò)消息進(jìn)行的交互,強(qiáng)調(diào)消息在時(shí)間軸上的先后順序。(J.提倡設(shè)計(jì)模式的根本原因是增強(qiáng)代碼復(fù)用,增加可維護(hù)性。(J.里氏代換原則的本質(zhì)是在同一個(gè)繼承體系中的對(duì)象應(yīng)該有共同的行為特征。(J.工廠方法是抽象工廠模式的擴(kuò)展。(X.提倡設(shè)計(jì)模式的根本原因是增強(qiáng)代碼復(fù)用,增加可維護(hù)性。(J.具有抽象方法的類必須聲明為abstract.(X.當(dāng)創(chuàng)建派生類對(duì)象時(shí),先執(zhí)行基類的構(gòu)造函數(shù),后執(zhí)行派生類的構(gòu)造函數(shù)。(J.虛函數(shù)是可由子類繼承并重寫的函數(shù)。(J課程名稱:軟件設(shè)計(jì)模式三:簡(jiǎn)答題(共25分,5小題,每小題5分。).試簡(jiǎn)述瀑布模型。答:瀑布模型(WaterfallModel)是一個(gè)項(xiàng)目開發(fā)架構(gòu),開發(fā)過(guò)程是通過(guò)設(shè)計(jì)一系列階段順序展開的,從系統(tǒng)需求分析開始直到產(chǎn)品發(fā)布和維護(hù),每個(gè)階段都會(huì)產(chǎn)生循環(huán)反饋,因此,如果有信息未被覆蓋或者發(fā)現(xiàn)了問(wèn)題,那么最好“返回”上一個(gè)階段并進(jìn)行適當(dāng)?shù)男薷?,?xiàng)目開發(fā)進(jìn)程從一個(gè)階段“流動(dòng)”到下一個(gè)階段,這也是瀑布模型名稱的由來(lái)。包括軟件工程開發(fā)、企業(yè)項(xiàng)目開發(fā)、產(chǎn)品生產(chǎn)以及市場(chǎng)銷售等構(gòu)造瀑布模型。瀑布模型是將軟件生存周期的各項(xiàng)活動(dòng)規(guī)定為按固定順序而連接的若干階段工作,形如瀑布流水,最終得到軟件產(chǎn)品。.設(shè)計(jì)模式的基本要素有哪些?答:設(shè)計(jì)模式基本要素為:模式名稱、問(wèn)題、解決方案和效果。1、模式名稱:一個(gè)助記名稱,用來(lái)描述設(shè)計(jì)模式、解決方案和效果。2、問(wèn)題:主要描述在何時(shí)使用設(shè)計(jì)模式。3、解決方案:描述了設(shè)計(jì)的組成成分、它們之間的相互關(guān)系及各自的職責(zé)和協(xié)作方式4、效果:描述了模式應(yīng)用的效果和使用模式權(quán)衡的問(wèn)題。.什么是創(chuàng)建型設(shè)計(jì)模式,它的目的是什么?答:設(shè)計(jì)模式是一套被反復(fù)使用、多數(shù)人知曉的、經(jīng)過(guò)分類編目的、代碼設(shè)計(jì)經(jīng)驗(yàn)的總結(jié)。使用設(shè)計(jì)模式是為了可重用代碼、讓代碼更容易被他人理解,保證代碼可靠性。創(chuàng)建型設(shè)計(jì)模式,就是創(chuàng)建對(duì)象的模式,抽象了實(shí)例化的過(guò)程。創(chuàng)建型模式(CreationalPattern)對(duì)類的實(shí)例化過(guò)程進(jìn)行了抽象,能夠?qū)④浖K中對(duì)象的創(chuàng)建和對(duì)象的使用分離。創(chuàng)建型模式包括5個(gè)模式:?jiǎn)卫J?,工廠方法,抽象工廠,原型模式,建造者模式.結(jié)構(gòu)型模式的功能有哪些?答:結(jié)構(gòu)型模式的功能有以下幾個(gè)方面:1、在不破壞類的封裝性的基礎(chǔ)上,實(shí)現(xiàn)新的功能2、在不破壞類的封裝性的基礎(chǔ)上,使得類可以同不曾估計(jì)到的系統(tǒng)進(jìn)行交互3、創(chuàng)建對(duì)一組類的統(tǒng)一的訪問(wèn)接口4、對(duì)同一類,創(chuàng)建不同的訪問(wèn)界面,提供給不同的訪問(wèn)者課程名稱:軟件設(shè)計(jì)模式.構(gòu)造函數(shù)有哪些特殊性?答:1、構(gòu)造器必須與類同名(如果一個(gè)源文件中有多個(gè)類,那么構(gòu)造器必須與公共類同名)2、每個(gè)類可以有一個(gè)以上的構(gòu)造器3、構(gòu)造器可以有0個(gè)、1個(gè)或1個(gè)以上的參數(shù)4、構(gòu)造器沒(méi)有返回值5、構(gòu)造器總是伴隨著new操作一起調(diào)用四:綜合題(共15分).試舉一個(gè)例子并設(shè)計(jì)抽象工廠模式的UML結(jié)構(gòu)圖(7分)答:電腦生產(chǎn):聯(lián)想和DELL都是計(jì)算機(jī)生產(chǎn)廠家,但他們采用的主板、硬盤和CPU不同,但主板、硬盤和CPU之間可以兼容。硬盤有Maxtor和westDigit兩種,CPU有Intel和AMD,主板有MSI865PE和MSIK7N2G兩種聯(lián)想采用Intel的CPU和WestDigit的硬盤,DELL采用AMD的CPU和Maxtor的硬盤。抽象工廠模式的UML結(jié)構(gòu)圖如下:.定義一個(gè)抽象的運(yùn)動(dòng)員(Player)基類,具有抽象方法Train方法。然后以該類為基類,派生出BasketballPlayer、FootballPlayer

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論