面向?qū)ο蠹夹g(shù)優(yōu)點(diǎn)_第1頁
面向?qū)ο蠹夹g(shù)優(yōu)點(diǎn)_第2頁
面向?qū)ο蠹夹g(shù)優(yōu)點(diǎn)_第3頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡(jiǎn)介

面向?qū)ο蠹夹g(shù)的優(yōu)點(diǎn)使用面向?qū)ο笏枷脒M(jìn)行開發(fā)有以下優(yōu)點(diǎn):1、 易維護(hù)采用面向?qū)ο笏枷朐O(shè)計(jì)的結(jié)構(gòu),可讀性高,由于繼承的存在,即使改變需求,那么維護(hù)也只是在局部模塊,所以維護(hù)起來是非常方便和較低成本的。2、 質(zhì)量高在設(shè)計(jì)時(shí),可重用現(xiàn)有的,在以前的項(xiàng)目的領(lǐng)域中已被測(cè)試過的類使系統(tǒng)滿足業(yè)務(wù)需求并具有較高的質(zhì)量。3、 效率高在軟件開發(fā)時(shí),根據(jù)設(shè)計(jì)的需要對(duì)現(xiàn)實(shí)世界的事物進(jìn)行抽象,產(chǎn)生類。使用這樣的方法解決問題,接近于日常生活和自然的思考方式,勢(shì)必提高軟件開發(fā)的效率和質(zhì)量。4、 易擴(kuò)展由于繼承、封裝、多態(tài)的特性,自然設(shè)計(jì)出高內(nèi)聚、低耦合的系統(tǒng)結(jié)構(gòu),使得系統(tǒng)更靈活、更容易擴(kuò)展,而且成本較低。首先,對(duì)象的引入方便了在軟件虛擬世界中模擬現(xiàn)實(shí)世界?,F(xiàn)實(shí)世界是由很多獨(dú)立的抽象或具體物體組成的,比如房子、汽車、空調(diào)、書等等。為了構(gòu)建更真實(shí)的虛擬世界,在軟件中需要存在用于表達(dá)類似現(xiàn)實(shí)物體的編程元素,這正是引入對(duì)象概念的意義所在。以對(duì)象為設(shè)計(jì)中心,迫使設(shè)計(jì)者在關(guān)注程序所需實(shí)現(xiàn)功能的同時(shí)不至于忘記通過抽象去塑造概念,以便用對(duì)象表達(dá)之。由于抽象獲得的對(duì)象有助于隱藏復(fù)雜度,這在一定程度上簡(jiǎn)化了通過對(duì)象表達(dá)和理解軟件虛擬世界的難度。也由于對(duì)象的存在,使得設(shè)計(jì)更加的生動(dòng)和具有更強(qiáng)的自我解釋能力。從軟件設(shè)計(jì)者的角度:如果希望塑造的對(duì)象在現(xiàn)實(shí)生活中存在,這有助于他借助現(xiàn)實(shí)引導(dǎo)自己的設(shè)計(jì),他也應(yīng)盡量將虛擬世界中對(duì)象的行為塑造成與現(xiàn)實(shí)世界的相近;如果希望塑造的對(duì)象在現(xiàn)實(shí)生活中并不存在,他只能借助對(duì)象的行為和狀態(tài)去塑造對(duì)象(的概念),此時(shí)應(yīng)注意行為、狀態(tài)與概念間關(guān)系的合理性,否則所塑造的對(duì)象將令人費(fèi)解。從軟件維護(hù)者的角度:如果對(duì)象在現(xiàn)實(shí)生活中存在,這有助于他借助生活經(jīng)驗(yàn)快速掌握設(shè)計(jì);如果在現(xiàn)實(shí)中找不到對(duì)象的影子,他仍可以通過對(duì)象的行為掌握對(duì)象的概念,這同樣有助于他更方便地維護(hù)軟件。其次,面象對(duì)象設(shè)計(jì)由于強(qiáng)調(diào)以對(duì)象為中心,因而具備更強(qiáng)的封裝能力。在大多支持面向?qū)ο笤O(shè)計(jì)的編程語言中,更強(qiáng)的封裝能力除了意味著更具信息隱藏能力外,還使得封裝的邊界既明顯又更不易被突破,這有助于在軟件的維護(hù)過程中維持“形”。某種程度上,面向?qū)ο笤O(shè)計(jì)強(qiáng)化了軟件行業(yè)推崇的模塊化設(shè)計(jì)。再次,面向?qū)ο笤O(shè)計(jì)中的繼承和多態(tài)技術(shù)除了進(jìn)一步提高通過軟件模擬現(xiàn)實(shí)世界的能力外,還能讓設(shè)計(jì)更靈活、易變更和方便復(fù)用。面向?qū)ο蠖鄳B(tài):多態(tài)是類型理論的一個(gè)概念。意思是:一個(gè)名字可以代表許多不同的對(duì)象,只要這些對(duì)象都有共同的父類,這樣這個(gè)名字代表的不同對(duì)象就可以以不同的方式來響應(yīng)同一消息。多態(tài)表現(xiàn)出多種形式的能力。通用多態(tài)引用有相同結(jié)構(gòu)類型的大量對(duì)象,他們有著共同的特征。特定的多態(tài)涉及的是小部分沒有相同特征的對(duì)象。四種多態(tài)可做以下描述:強(qiáng)制的:一種隱式做類型轉(zhuǎn)換的方法。重載的:將一個(gè)標(biāo)志符用作多個(gè)意義。參數(shù)的:為不同類型的參數(shù)提供相同的操作。包含的:類包含關(guān)系的抽象操作。多態(tài)性的優(yōu)點(diǎn)示例:如下面的java語句:publicabstractclassAnimal{publicabstractvoidcry();publicabstractStringgetAnimalName();}publicclassSimulator{publicvoidplaySound(Animalanimal){System.out.println(〃我是〃+animal.getAnimalName());System.out.println("-我的叫聲是:");animal.cry();}}publicclassDogextendsAnimal{publicvoidcry(){System.out.println(〃汪、汪、汪〃);}publicStringgetAnimalName(){return〃小狗〃; }}publicclassCatextendsAnimal{publicvoidcry(){System.out.println(〃喵、喵、喵〃);}publicStringgetAnimalName(){return〃小貓〃; }}publicclassTest{publicstaticvoidmain(String[]args){Simulatorsimulator=newSimulator();simulator.playSound(newDog());simulator.playSound(newCat());}}在上面的示例程序中,對(duì)于定義的Animal類,分別有兩個(gè)子類繼承了父類的基本特性,好處非常明顯:可替換性。對(duì)已存在的代碼具有可替換性??蓴U(kuò)充性。對(duì)代碼具有可擴(kuò)充性。增加新的子類不影響已存在類的多態(tài)性、繼承性,以及其他特性的運(yùn)行和操作。實(shí)際上新加子類更容易獲得多態(tài)功能。靈活性。它在應(yīng)用中體現(xiàn)了靈活多樣的操作,提高了

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論