北方工業(yè)大學面向對象真題復習題及答案_第1頁
北方工業(yè)大學面向對象真題復習題及答案_第2頁
北方工業(yè)大學面向對象真題復習題及答案_第3頁
北方工業(yè)大學面向對象真題復習題及答案_第4頁
北方工業(yè)大學面向對象真題復習題及答案_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

面對對象方法有哪些特點?(1.)抽象:抽象就是無視一個主題中與當前目標無關的那些方面,以便更充分地留意與當前目標有關的方面。抽象并二是數(shù)據(jù)抽象對象的一個類可以從現(xiàn)有的類中派生,這個過程稱為類繼承。類繼承了原始類的特性,類稱為原始〔子類〔父類并且類可以修改或增加的方法使之更適合特別的需要。根本概念,即現(xiàn)實世界可以被描繪成一系列完全自治、封裝的對象,這些對象通過一個受保護的接口訪問其他對象多態(tài)性語言具有機敏、抽象、行為共享、代碼共享的優(yōu)勢,很好的解決了應用程序函數(shù)同名問題。機敏性:對象的功能執(zhí)行是在接到消息是確定的,使得對象可以依據(jù)自身的特點進展功能實現(xiàn).易維護性:對象實現(xiàn)抽象和封裝后,使可能消滅的錯誤根本限制在自身內部,易于檢錯和修改.增量性設計:面對對象系統(tǒng)可以供給繼承機制不斷擴大功能,而不影響原有軟件的運行.。對象的處理是自治的,由對象構成的系統(tǒng)處理是分布式的代碼共享:繼承性供給了一種代碼共享的手段,可以避開代碼的重復設計.面對對象程序設計與大型程序設計有哪些關系?答:大型程序是依據(jù)待解決問題的簡潔度來判定。ab大型程序的實現(xiàn)要求:a正確性;b易維護性;c可讀性;d可重用性模塊分解:a基于功能的模塊分解〔橫向。依據(jù)流程圖,以數(shù)據(jù)為模塊的界面.b基于數(shù)據(jù)抽象的模塊分解。依據(jù)信息隱蔽,用數(shù)據(jù)上的操作為界面軟件系統(tǒng)設計=大型程序設計+小型系統(tǒng)設計面對對象的設計方法軟件系統(tǒng)設計=面對對象設計+面對對象程序設計有哪些面對對象語言?– Kay1972SmallTalk-72,SmallTalk-74,SmallTalk-78,SmallTalk-80〔強調了對象概念的統(tǒng)一,引入類、方法、實例等概念和術語,應用了單繼承和動態(tài)連接〕。C++,AT&T,BjarneStroustrup對CObject-C,康涅迪格大學的BradJ.CoxCSmallTalk-80Eiffel,InteractiveSoftwareInc.的BertrandMeyerCtalk,C+SmalltalkPOOL,阿姆斯特丹大學的AmericaFooplog,對象、函數(shù)式、規(guī)律式三者結合ADAJava,Sun,90面對對象設計方法與其它設計方法的比較?〔1〕橫向比較:a函數(shù)程序設計將計算過程看作函數(shù)作用過程;b程看作推演過程;c構造化程序設計特點:優(yōu)點:與非構造化程序相比,構造化程序在調試、可讀性和可維護性等方面都有很大的改進。缺點:編寫。由于軟、硬件技術的不斷進展和用戶需求的變化,依據(jù)功能劃分設計的系統(tǒng)模塊簡潔發(fā)生變化,使得開發(fā)出來的模塊的可維護性欠佳。修訂,這樣就增加了很多的編程工作量。面對對象的優(yōu)點:擬現(xiàn)實世界中的對象,使程序設計過程更自然、更直觀。構造化程序設計特點:優(yōu)點:與非構造化程序相比,構造化程序在調試、可讀性和可維護性等方面都有很大的改進。缺點:編寫。由于軟、硬件技術的不斷進展和用戶需求的變化,依據(jù)功能劃分設計的系統(tǒng)模塊簡潔發(fā)生變化,使得開發(fā)出來的模塊的可維護性欠佳。修訂,這樣就增加了很多的編程工作量。面對對象的優(yōu)點:擬現(xiàn)實世界中的對象,使程序設計過程更自然、更直觀。而言,數(shù)據(jù)具有更強的穩(wěn)定性。行通信。這樣,我們不必知道一個對象是怎樣實現(xiàn)其行為的,只需通過對象供給的接口進展通信的。面對對象把一個簡潔的問題分解成多個能夠完成獨立功能的對象〔類〕,然后把這些對象組部件〔已設計好的對象〕依據(jù)確定關系組合成一個完整的系統(tǒng)。這樣使得軟件開發(fā)更有效率。解釋以下概念:對象;消息;封裝;協(xié)議;類;繼承;對象:對象就是我們生疏世界的根本單元,它可以是人,也可以是物,還可以是一件事。整個世界就是形形色色的對象組成。程序=對象+消息消息是指一個對象要求另一個對象執(zhí)行某個功能操作的規(guī)格的說明,通過消息傳遞才能完成對象之間的相互懇求或相互協(xié)作。節(jié)清楚地分別開。協(xié)議協(xié)議中所供給的消息。類:類是對一組具有共同的屬性特征和行為特征的對象的抽象。面對對象中,類就是具有一樣的對象的描述。類和對象是抽象和具體的關系,類是對多個對象進展綜合抽象的結果,對象又是類的個體實物,一個對象是類的一個實例。力。也就是說一類〔派生類、子類〕對象具有另一類〔〕對象的性質〔數(shù)據(jù)和操作。類對象的特征和力氣。什么是實例?類于實例的關系是什么?答案:任何單個對象都是某個類的實例。一個類的全部實例都承受同樣的方法處理消息,但每個實例又有自己的私有存儲單元。類和實例的關系:抽象和具體的關系.a類的全部實例能響應的消息模式一樣,且承受同樣的方b實例是類的具體化,類是某些有一樣點事物的統(tǒng)括類和對象是抽象和具體的關系,類是對多個對象進展綜合抽象的結果,對象又是類的個體實物,一個對象是類的一個實例什么是繼承?分為哪幾種?類對象的特征和力氣。按繼承源上分:繼承分為:單繼承:指每個派生類只直接繼承了一個基類的特征多繼承:指多個基類派生出一個派生類的繼承關系,多繼承的派生類直接繼承了不止一個基類的特征。按繼承內容上分:取代繼承,包含繼承,受限繼承,特化繼承繼承方式:public,proteced,privatepubli〔公有繼承private。派生類的成員只能訪問基類中的public/protected成員,而不能訪問private成員;派生類的對象只能訪問基類中的public成員。〔2〕privat〔私有繼承:繼承時基類中各成員屬性均變?yōu)閜rivat,并且基類中成員被隱蔽。派生類的成員也只能訪問基類中的public/protected成員,而不能訪問private成員;派生類的對象不能訪問基類中的任何的成員。3protecte保護性繼承protecte成員被隱蔽。派生類的成員只能訪問基類中的public/protected成員,而不能訪問private成員;派生類的對象不能訪問基類中的任何的成員。對象間的關系有哪幾種?對象間的創(chuàng)立關系:也是一種托付關系的具體實現(xiàn)對象間的聚合關系〔包含關系〕對象通訊關系:消息流圖描述系統(tǒng)中對象間的消息流實例化關系:對象是一個類的實例,類是對象的抽象模板解釋以下概念:多態(tài);作用域;語景;深拷貝;淺拷貝多態(tài):多態(tài),意味著一個對象有著多重特征,可以在特定的狀況下,表現(xiàn)不同的狀態(tài),從而對應同的行為方式。作用域:通常來說,一段程序代碼中所用到的名字并不總是有效 /可用的,而限定這個名字的可用性的代碼范圍就是這個名字的作用域。 作用域的使用提高了程序規(guī)律的局部性,增加程序的牢靠性,削減名字沖突語景:作用域是針對語言中的一個符號〔如變量〕或一個程序段〔如函數(shù)〕的可訪問性而言的;深拷貝:不緊復制對象的根本類,同時也復制原對象中的對象.就是說完全是對象產(chǎn)生的;深拷貝是得到一個對象的副本的操作;淺拷貝:只復制對象的根本類型,對象類型,仍屬于原來的引用;淺拷貝是得到一個對象的指針的操作強類型與弱類型的區(qū)分在哪?它們的代表語言?強類型與弱類型的區(qū)分:強類型,意味著必需事先聲明變量,并且該變量只可用于表示一種類型的數(shù)據(jù)(例如或者一個整數(shù)或者一個字符串)。弱類型,即一個變量不必聲明其類型,一個被用于表示字符串的變量在后面的程序中也可用來表示數(shù)字;代表語言:C,c#,java是強類型語言,VBScript,PHP弱類型語言。面對對象分析的任務是什么?面對對象分析的根底是什么?面對對象的任務是:了解問題域內的相關對象及對象間的關系和作用,然后構成問題域的對象模型,盡量使模型真實反映處所要解決問題的實質面對對象的根底是:模擬技術和面對對象技術,從模擬技術中吸取了屬性、關系等對象概念,從面對對象技術中吸取了封裝、分類構造等概念。a在分析和說明整體框架中貫穿構造化方法,如對象和屬性,整體和局部,類和成員等.b訊制和協(xié)議稱為部件對象模型面對對象分析和設計方法有哪些,其優(yōu)勢是什么?對當前的問題,但也應有足夠的通用化適應將來的問題。盡量避開重復設計。OOA方法以及OODBoochJocobson方法也稱為OOSE,該方法特別強調使用實例RambaughOMTCoadYourdon優(yōu)勢:集中相關數(shù)據(jù)和功能來直接模擬問題世界中的對象,并且開發(fā)的各個階段都圍繞對象范型進展。解釋以下概念:OLE;ActiveX;COM;GUIDOLE:ObjectLinkingandEmbedding,對象連接與嵌入,簡稱OLEOLE不僅是桌面應用程序集成,而且還定義和實現(xiàn)了一種允許應用程序作為軟件“數(shù)據(jù)集合和操作數(shù)據(jù)的函數(shù))“連接”的機制,這種連接機制和協(xié)議稱為部件對象模型。ActiveX: .是組件〔或對象〕打包,.以便可以重用Web頁或其他程序中插入。由一組開發(fā)和實現(xiàn)Internet網(wǎng)上應用程序的技術或部件構成,ActiveX的核心技術也OLEOLEInternet〔或對象〕打包,別人編程功能.以便可以重用Web頁或其他程序中插入。COM:COMComponentObjectModel〔組件對象模型〕COM組件是以WIN32動態(tài)鏈接庫〔DLL〕或可執(zhí)行文件〔EXE〕形式公布的可執(zhí)行代碼組。是一個定義組件的標準,它在最根本的層次定義組件是什么,如何識別它們,如何定位它們,如何裝入它們,如何訪問它們以及如何與它們通信。GUID:GloballyUniqueIdentifier〔全球唯一標識符〕GUID〔全球唯一標識〕是微軟使用的一個術語,由一個特定的算法,給某一個實體,如Word文檔,創(chuàng)立一個唯一的標識,GUID值就是這個唯一的標識碼。GUID廣泛應用于微軟的產(chǎn)品中,用于識別接口、復制品、記錄以及其他對象。不同類型的對象對應不同的GUID值。例如,一個微軟Access數(shù)據(jù)庫使用的是16字節(jié)域為復制品創(chuàng)立一個唯一標識。什么是設計模式?模式是為了可重用代碼、讓代碼更簡潔被他人理解、保證代碼牢靠性。Singleton單例模式,就是只有一個實例,作為對象的創(chuàng)立模式,單例模式確保某一個類只有一個實例,而且自行實例化并向整個系統(tǒng)供給這個實例。這個類稱為單例類。明顯單例模式的要點有三個;一是某個類只能有一個實例;二是它必需自行創(chuàng)立這個實例;三是它必需自行向整個系統(tǒng)供給這個實例。在下面的對象圖中,有一個 “單例對象“,而“客戶甲“、“客戶乙“和“客戶丙“是單例對象的三個客戶對象??梢钥吹剑康目蛻魧ο蠊蚕硪粋€單例對象。而且從單例對象到自身的連接線可以看出,單例對象持有對自己的引用?!?〕1995年Gamma等提出〔2〕獨特之處:描述格外簡潔,實現(xiàn)卻很簡潔〔3〕描述:保證一個class只有一個instance〔實體,并為它供給一個全局訪問點4〕用途:當你模塑model〕一些“從概念上來說,在程序中只有唯一實體”的型別,如鍵盤、顯示器、打印治理器等〔5〕Singleton不存在所謂“最正確”實現(xiàn)方案,只能依據(jù)要解決的具體問題來選擇適宜的實現(xiàn)Singleto〔單子,對象創(chuàng)立型模式訪問點。publicpublicclassSingleton{privateSingleton{}//在自己內部定義自己一個實例,是不是很驚異?//留意這是private只供內部調用privatestaticSingletoninstance=newSingleton;//這里供給了一個供外部訪問本class的靜態(tài)方法,可以直接訪問publicstaticSingletongetInstance{returninstance;}}其次種形式其次種形式:publicpublicclassSingleton{privatestaticSingletoninstance=null;publicstaticsynchronizedSingletongetInstance{if(instance==null)instance=newSingleton;returninstance; }}所謂函數(shù)重載是指同一個函數(shù)名可以對應著多個函數(shù)的實現(xiàn),可以給函數(shù)名 add定義多個函數(shù)實現(xiàn),該函數(shù)的功能是求和,即求兩個操作數(shù)的和。其中,一個函數(shù)實現(xiàn)是求兩種實現(xiàn)對應著一個函數(shù)體,這些函數(shù)的名字一樣,但是函數(shù)的參數(shù)的類型不同。這就是函數(shù)重載的概念。函數(shù)重載在類和對象的應用尤其重要。函數(shù)的掩蓋:掩蓋是指派生類中存在重定義的函數(shù),其函數(shù)名、參數(shù)列、返回值類型必需同父類中的相對應被掩蓋的函數(shù)嚴格全都,掩蓋函數(shù)和被掩蓋函數(shù)只有函數(shù)體〔花括號中的局部〕函數(shù)版本,這種機制就叫做掩蓋。區(qū)分:下面我們從成員函數(shù)的角度來表達重載和掩蓋的區(qū)分。成員函數(shù)被重載的特征有:一樣的范圍〔在同一個類中;函數(shù)名字一樣;參數(shù)不同;關鍵字可有可無。掩蓋的特征有:不同的范圍〔分別位于派生類與基類;函數(shù)名字一樣;參數(shù)一樣;基類函數(shù)必需有virtual關鍵字。重載是在一樣名字空間作用域下,而掩蓋則是在不同的名字空間作用域下,友元,運算符重載友元是一種定義在類外部的一般函數(shù),但它需要在類體內進展說明,為了與該類的成員函數(shù)加以區(qū)分,在說明時前面加以關鍵字 friend。友元不是成員函數(shù),但是它可以訪問類中的私有成員。友元的作用在于提高程序的運行效率,但是,它破壞了類的封裝性和隱藏性,使得非成員函數(shù)可以訪問類的私有成員。友元可以是一個函數(shù),該函數(shù)被稱為友元函數(shù);友元也可以是一個類,該類被稱為友元,運算符重載:所謂運算符重載,就是對已有的運算符重進展定義,賜予其另一種功能,以適應不同的數(shù)據(jù)類型友元函數(shù):一個被賜予訪問一個類非public成員權限的非成員函數(shù),它在沒有打破封裝狀況下改善接口。在運算符重載時比較有用〔特別時兩變元運算符。重載運算符的名字:只有C++預定義的運算符集中的運算符才能重載。但有幾個特例,而且對于內部類型的操作符它們的意義不能轉變。不能重載的運算符:.*sizeoftypeid重載運算符的設計:當類設計者定義好了公有接口后,就可以考慮每個操作和運算符之間是否isEmpty可變?yōu)閛perator!

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論