13春學期《軟件設計模式》期末考核作業及答案_第1頁
13春學期《軟件設計模式》期末考核作業及答案_第2頁
13春學期《軟件設計模式》期末考核作業及答案_第3頁
13春學期《軟件設計模式》期末考核作業及答案_第4頁
13春學期《軟件設計模式》期末考核作業及答案_第5頁
已閱讀5頁,還剩2頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、精選優質文檔-傾情為你奉上東 北 大 學 繼 續 教 育 學 院 軟件設計模式 試 卷(作業考核 線上) A 卷學習中心:_院校學號:_姓名:_(共 頁) 總分題號一二三四五六七八九十得分一:單選題(共40分,20小題,每小題2分。請將答案填入下表)題號12345678910答案ADABADDBAD題號11121314151617181920答案AADDCCBCDA1. C#語言的核心是面向對象編程(OOP),所有OOP語言都應至少具有三個特性:A、封裝、繼承和多態 B、類、對象和方法C、封裝、繼承和派生 D、封裝、繼承和接口2. 下列語句創建了多少個string 對象?string, str

2、Array = new string34;A. 0 B. 3 C. 4 D. 12 3. 關于結構類型,下列說法哪些是正確的?A. 結構是值類型B. 結構中不允許定義帶參數的實例構造函數;C. 結構中不允許定義析構函數D. 結構中可以定義成員方法,但是方法內不能使用this 指針4. 在c#程序中,入口函數的正確聲明為:A. static int main()B. static void Main()C. static void main()D. void Main()5. 在C#中,引用命名空間system 的正確語句是:A. using System;B. #import <Syst

3、em>C. uses System;D. #include <System>6. MyClass為一個自定義的類,則下列語句創建了多少個類MyClass的對象? MyClass , myArray = new MyClass23;A. 0 B. 2 C. 3 D. 67. 已知a、b、c的值分別是4、5、6,執行下面的程序段后,判斷變量n的值為:int a,b,c,n;if (c < b) n = a + b + c; else if (a + b < c) n = c - a - b; else n = a + b;A. 3 B. -3 C. 9 D. 158.

4、 下列說法哪個正確?A. 不需要定義類,就能創建對象 B. 屬性可以定義為抽象的C. 對象中必須有屬性和方法 D. 常量不能作為類成員9. 在類的外部可以被訪問的成員是:A. public成員 B. private成員 C. protected成員 D. protected internal成員10. C#語言源代碼文件的后綴名為:A. .C# B. .CC C. .CSP D. .CS11. C#中導入某一個命名空間的關鍵字是:A. using B. use C. import D. include12. 方法中的值參數是_的參數。A. 按值傳遞 B. 按引用傳遞 C. 按地址傳遞 D. 不

5、傳遞任何值13. 結構化程序設計的3種結構是:A. 順序結構、if結構、for結構B. if結構、ifelse結構、else if結構C. while結構、dowhile結構、foreach結構D. 順序結構、分支結構、循環結構14. 以下關于類和對象的說法中,不正確的是:A. 類包含了數據和對數據的操作 B. 一個對象一定屬于某個類C. 類是同一類對象的抽象 D. 可由抽象類生成對象15.下列關于構造函數的描述正確的是:A. 構造函數可以聲明返回類型 B. 構造函數不可以用private修飾C. 構造函數必須與類名相同 D. 構造函數不能帶參數16. 分析下列C#語句,注意類MyClass

6、沒有訪問修飾符:namespace ClassLibrary1class MyClasspublic class subclassint i;若必須為類MyClass添加訪問修飾符,并使MyClass的可訪問域保持不變,則應選擇:A. private B. protected C. internal D. public17. 在類的定義中,類的_描述了該類的對象的行為特征。A. 類名 B. 方法 C. 所屬的名字空間 D. 私有域18.C#語言中,下列能夠作為變量名的是_。A. if B. 3ab C. a_3b D. a-bc19.能正確表示邏輯關系“a>=10 或a<=0”的C

7、#語言表達式是_。A. a>=10 or a<=0 B. a>=10|a<=0C. a>=10&&a<=0 D. a>=10|a<=0 20.以下關于for循環的說法不正確的是_。A. for循環只能用于循環次數已經確定的情況B. for循環是先判定表達式,后執行循環體語句C. for循環中,可以用break語句跳出循環體D. for循環體語句中,可以包含多條語句,但要用花括號括起來。二:判斷題(共20分,20小題,每小題1分。請將答案或填入下表)題號12345678910答案××××

8、15;×題號11121314151617181920答案××××××××1軟件危機是二十一世紀軟件領域出現的新問題。 2數據流分析技術是結構化分析方法的核心技術。 3從提出軟件開發計劃的那一刻起開始直到軟件投入實際應用為止可以認為是一個完整的軟件生存周期。4噴泉模型主要用于面向過程的軟件項目。5類是所有某一類對象的共同的行為和不同狀態的集合體。6利用多重繼承雖然可以提高類的共享程度,但也會增加系統的復雜程度。7面向對象程序設計應該遵循低內聚、高耦合的原則。8人機交互子系統的設計內容就是用戶如何命令系統。9

9、作為一種建模語言,UML的定義包括UML語義和UML表示法兩個部分。10狀態圖、順序圖、協作圖和部署圖屬于動態建模機制。11順序圖和協作圖雖然都是用來描述交互的,但順序圖強調的是空間,而協作圖強調的是時間。12面向對象設計中的"開閉"原則指的是軟件對修改應該是開放的,對擴展應該是關閉的。13單一職責原則、里氏代換原則、依賴倒置原則等,都可以看成是“開放-封閉”原則的實現方法。14一般來說,繼承必須確保超類所擁有的性質在子類中仍然成立。15當一個超類的實例能夠替換任何其子類的實例時,它們之間才具有is-A關系。16工廠方法是抽象工廠模式的擴展。17結構型模式在破壞類的封裝性的

10、基礎上,實現新的功能。18數組作為函數的參數時默認的傳遞形式是按值傳遞。19具有抽象方法的類必須聲明為abstract。20重載是進行基類中函數的重寫。三:簡答題(共25分,5小題,每小題5分。)1. 什么是設計模式?答:設計模式是一套被反復使用、多數人知曉的、經過分類編目的、代碼設計經驗的總結。2. 面向對象設計中需要遵循哪些原則?為什么要遵循這些原則?答:(1)"開閉"原則:軟件對擴展應該是開放的,對修改應該是關閉的。(2)單一職責原則:就一個類而言,應該僅有一個引起它變化的原因。(3)里氏代換原則:繼承必須確保超類所擁有的性質在子類中仍然成立(4)依賴倒置原則:如果一

11、個類的一個成員或參數為一個具體類型,那么這個類就依賴于那個具體類型。3. 什么是面向對象軟件開發的“開放-封閉”原則?其優點有哪些?答:所謂開放封閉原則就是軟件實體應該對擴展開發,而對修改封閉。 優點:按照開放-封閉原則設計出來的系統,降低了程序各部分之間的耦合性,其適應性、靈活性、穩定性都比較好。當已有軟件系統需要增加新的功能時,不需要對作為系統基礎的抽象層進行修改,只需要在原有基礎上附加新的模塊就能實現所需要添加的功能。增加的新模塊對原有的模塊完全沒有影響或影響很小,這樣就無須為原有模塊進行重新測試。4. 結構型模式的功能有哪些?答:結構型模式能夠解決如下幾個方面的問題:(1)在不破壞類的

12、封裝性的基礎上,實現新的功能;(2)在不破壞類的封裝性的基礎上,使得類可以同不曾估計到的系統進行交互;(3)創建對一組類的統一的訪問接口;(4)對同一類,創建不同的訪問界面,提供給不同的訪問者5. 試簡述抽象工廠模式。答:抽象工廠模式是所有形態的工廠模式中最為抽象和最具一般性的一種形態。抽象工廠模式是指當有多個抽象角色時,使用的一種工廠模式。抽象工廠模式可以向提供一個接口,使客戶端在不必指定產品的具體的情況下,創建多個產品族中的產品對象。四:綜合題(共15分)假設你現在是一家快餐店的的管理者,要給顧客提供一系列的食品,如雞翅、雞腿等,顧客每要求一種食品,快餐店應當很快“生產”出來。請采用工廠模

13、式來實現這個過程,用C#語言編寫相應的類代碼。 答: /抽象的KFC食品,Product角色 public abstract class KFCFood public abstract void show(); /下面兩個類表示兩種具體的KFC食品,它們繼承了抽象的KFC食品Concrete Product1角色public class Chicken: KFCFood public override void show() Console.WriteLine(“雞腿+1”); /Concrete Product2角色public class Wings: KFCFood public ove

14、rride void show() Console.WriteLine(“雞翅+1”); /產品工廠,Factory角色interface IKFCFactory KFCFood CreatFood();/雞翅膀工廠,ConcreteFactory角色public class WingsFactory: IKFCFactory public KFCFood CreateFood() return new Wings(); /雞腿工廠,ConcreteFactory角色public class ChickenFactory: IKFCFactory public KFCFood CreateFood() return new Chicken(); Static void Main(String args) /定義一個雞腿工廠 IKFCFact

溫馨提示

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

最新文檔

評論

0/150

提交評論