面向?qū)ο笈c面向過(guò)程程序設(shè)計(jì)方法的比較

面向?qū)ο笈c面向過(guò)程程序設(shè)計(jì)方法的比較

ID:34478773

大?。?19.98 KB

頁(yè)數(shù):5頁(yè)

時(shí)間:2019-03-06

面向?qū)ο笈c面向過(guò)程程序設(shè)計(jì)方法的比較_第1頁(yè)
面向?qū)ο笈c面向過(guò)程程序設(shè)計(jì)方法的比較_第2頁(yè)
面向?qū)ο笈c面向過(guò)程程序設(shè)計(jì)方法的比較_第3頁(yè)
面向?qū)ο笈c面向過(guò)程程序設(shè)計(jì)方法的比較_第4頁(yè)
面向?qū)ο笈c面向過(guò)程程序設(shè)計(jì)方法的比較_第5頁(yè)
資源描述:

《面向?qū)ο笈c面向過(guò)程程序設(shè)計(jì)方法的比較》由會(huì)員上傳分享,免費(fèi)在線(xiàn)閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)

1、面向?qū)ο笈c面向過(guò)程程序設(shè)計(jì)方法的比較摘要:區(qū)別于一般講述面向?qū)ο蠹夹g(shù)的文章,本文系統(tǒng)地比較了面向?qū)ο蠹夹g(shù)和面向過(guò)程技術(shù)的異同,并著重介紹面向?qū)ο蠹夹g(shù)以及它的封裝、繼承和多態(tài)三個(gè)特點(diǎn),讓讀者對(duì)面向?qū)ο笥幸粋€(gè)形象的理解。然后通過(guò)比較和舉例,文章分析了OO技術(shù)在軟件工程中的三大優(yōu)勢(shì)。Abstract:Beingdifferentfromgeneralarticlesaboutobject-orientedtechnology,thispapersystematicallycomparedtheobject-orie

2、ntedtechnologyandtheprocess-orientedtechnology,andmainlyintroducestheobject-orientedtechnologyanditsthreecharacteristics:packaging,inheritanceandpolymorphism,tomakethereaderhaveanimageofunderstandingofobject-oriented.Thenthroughthecomparisonandsomeexamples,

3、thispaperanalyzestheOObasedsoftwareengineeringinthreepoints.關(guān)鍵字:面向?qū)ο竺嫦蜻^(guò)程軟件工程Keywords:Object-OrientedProcess-OrientedSoftware-Engineering一引言20世紀(jì)60年代中期開(kāi)始爆發(fā)的軟件危機(jī),使人們認(rèn)識(shí)到大中型軟件系統(tǒng)與小型軟件系統(tǒng)的本質(zhì)區(qū)別,軟件工程以及面向?qū)ο缶幊蹋∣bject-OrientedProgramming)技術(shù)得以應(yīng)運(yùn)而生。從最初的SIMULA到如今的C++、JAVA和

4、C#,面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言已發(fā)展為當(dāng)前最流行的程序設(shè)計(jì)語(yǔ)言。談到面向?qū)ο?,一個(gè)不能回避的問(wèn)題是面向過(guò)程的程序設(shè)計(jì)思想。作為一種常用的面向?qū)ο笳Z(yǔ)言,C++自C語(yǔ)言發(fā)展而來(lái),是一種混合型面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言,它既支持面向?qū)ο笥种С置嫦蜻^(guò)程。面向?qū)ο笈c面向過(guò)程雖然在設(shè)計(jì)理念上截然相反,前者是自底向上而后者是自頂向下的,但它倆仍有眾多的相似之處。只有建立在深入理解二者的關(guān)系的基礎(chǔ)上,我們才算是真正駕馭了面向?qū)ο笈c面向過(guò)程技術(shù),以便在未來(lái)將它們熟練地運(yùn)用于學(xué)習(xí)和生活中。二面向過(guò)程的程序設(shè)計(jì)方法著名的計(jì)算機(jī)科學(xué)家Nik

5、iklausWirth提出了一個(gè)公式:程序=算法+數(shù)據(jù)結(jié)構(gòu)。這個(gè)公式很好地詮釋了面向過(guò)程程序設(shè)計(jì)方法的核心思想——算法和數(shù)據(jù)。更加具體地說(shuō),面向過(guò)程的程序設(shè)計(jì)方法稱(chēng)為功能分解,即自頂向下。以?xún)蓚€(gè)人下五子棋為例,面向過(guò)程的設(shè)計(jì)方法是先決定二人中誰(shuí)先手,然后是先手者下一子,判斷游戲是否結(jié)實(shí),后手者下一子,判斷游戲是否結(jié)束??可以看到無(wú)論是猜先、落子還是最后的判勝負(fù),它們都是一場(chǎng)五子棋游戲中不能再分割的邏輯單位。程序員的工作是將這些最底層的功能進(jìn)行編碼并測(cè)試,然后將這些功能自底向上裝配在一起,直到得到一個(gè)完整功能的

6、應(yīng)用程序。在這種體系中,我們的著眼點(diǎn)是一個(gè)個(gè)最基本的功能,數(shù)據(jù)是為了實(shí)現(xiàn)這些功能而設(shè)計(jì)的,它是后于功能的。當(dāng)問(wèn)題的規(guī)模不大時(shí),面向過(guò)程的設(shè)計(jì)方法因其邏輯關(guān)系明確,實(shí)現(xiàn)簡(jiǎn)單而備受程序員們的青睞。但是當(dāng)問(wèn)題規(guī)模擴(kuò)大到大中型軟件時(shí),一個(gè)項(xiàng)目的代碼量不是一個(gè)人可以單獨(dú)完成的。小組的分工與合作成為解決代碼量大的方法,但是這又向程序員之間的配合提出了新的挑戰(zhàn),同時(shí)數(shù)據(jù)共用導(dǎo)致的不安全、代碼重用率低等問(wèn)題也阻礙著面向過(guò)程的方法在大型軟件工程中的發(fā)展。這便是前文中提到的軟件危機(jī)。三面向?qū)ο蟮某绦蛟O(shè)計(jì)方法區(qū)別與面向過(guò)程的“先功

7、能后數(shù)據(jù)”思想,面向?qū)ο蟮某绦蛟O(shè)計(jì)方法把狀態(tài)(數(shù)據(jù))和行為(功能)捆綁在一起,形成了對(duì)象。當(dāng)遇到一個(gè)具體的問(wèn)題時(shí),我們只需要將一個(gè)系統(tǒng)分解成一個(gè)個(gè)的對(duì)象,同時(shí)將狀態(tài)和行為封裝在對(duì)象中。此時(shí)我們回過(guò)頭再考慮五子棋游戲,作為一個(gè)系統(tǒng),它可以被我們分解成若干對(duì)象,一種思路是分成棋盤(pán)、棋子和玩家三類(lèi)?;蛟S在這個(gè)簡(jiǎn)單的例子中,OO的優(yōu)勢(shì)并不明顯,但是在一些大型的系統(tǒng)中,第二種解題思路會(huì)清晰得多。人們總結(jié)了面向?qū)ο蟮娜齻€(gè)基本特點(diǎn):封裝、繼承和多態(tài)。1封裝封裝是一個(gè)用來(lái)指代將對(duì)象的狀態(tài)和行為捆綁到一個(gè)單一邏輯單元的機(jī)制的正

8、式術(shù)語(yǔ)。它不是面向?qū)ο笳Z(yǔ)言所特有的,面向過(guò)程的C語(yǔ)言用結(jié)構(gòu)封裝了數(shù)據(jù),函數(shù)封裝了邏輯。但是面向?qū)ο蠓庋b了兩者,從這種意義上來(lái)說(shuō),面向?qū)ο蟮姆庋b更加完美。出于一些安全性與方便性的考慮,對(duì)象經(jīng)常會(huì)限制對(duì)它們特征(包括屬性和方法)的訪問(wèn),這種限制稱(chēng)為信息隱藏。作為對(duì)象的抽象,類(lèi)通常只公開(kāi)對(duì)象可以公開(kāi)的東西,主要是一個(gè)特定對(duì)象對(duì)系統(tǒng)的服務(wù),而隱藏執(zhí)行服務(wù)的內(nèi)部細(xì)節(jié)和為了完成這些服務(wù)而設(shè)計(jì)的數(shù)據(jù)。注意這不是說(shuō)

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫(huà)的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶(hù)上傳,版權(quán)歸屬用戶(hù),天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶(hù)請(qǐng)聯(lián)系客服處理。