大學(xué)計(jì)算機(jī)基礎(chǔ)復(fù)習(xí)資料第9章程序設(shè)計(jì)基礎(chǔ)_第1頁
大學(xué)計(jì)算機(jī)基礎(chǔ)復(fù)習(xí)資料第9章程序設(shè)計(jì)基礎(chǔ)_第2頁
大學(xué)計(jì)算機(jī)基礎(chǔ)復(fù)習(xí)資料第9章程序設(shè)計(jì)基礎(chǔ)_第3頁
大學(xué)計(jì)算機(jī)基礎(chǔ)復(fù)習(xí)資料第9章程序設(shè)計(jì)基礎(chǔ)_第4頁
大學(xué)計(jì)算機(jī)基礎(chǔ)復(fù)習(xí)資料第9章程序設(shè)計(jì)基礎(chǔ)_第5頁
已閱讀5頁,還剩26頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、大學(xué)計(jì)算機(jī)基礎(chǔ)大學(xué)計(jì)算機(jī)基礎(chǔ)第第9章章 程序設(shè)計(jì)基礎(chǔ)程序設(shè)計(jì)基礎(chǔ)大學(xué)計(jì)算機(jī)基礎(chǔ)大學(xué)計(jì)算機(jī)基礎(chǔ)本章內(nèi)容本章內(nèi)容9.1 9.1 程序設(shè)計(jì)程序設(shè)計(jì)9.2 9.2 結(jié)構(gòu)化程序設(shè)計(jì)結(jié)構(gòu)化程序設(shè)計(jì)9.3 9.3 面向?qū)ο蟪绦蛟O(shè)計(jì)面向?qū)ο蟪绦蛟O(shè)計(jì)大學(xué)計(jì)算機(jī)基礎(chǔ)大學(xué)計(jì)算機(jī)基礎(chǔ)9.1 9.1 程序設(shè)計(jì)程序設(shè)計(jì)大學(xué)計(jì)算機(jī)基礎(chǔ)大學(xué)計(jì)算機(jī)基礎(chǔ)9.1 程序設(shè)計(jì)9.1.1 9.1.1 程序設(shè)計(jì)的方法程序設(shè)計(jì)的方法9.1.2 9.1.2 程序設(shè)計(jì)的風(fēng)格程序設(shè)計(jì)的風(fēng)格大學(xué)計(jì)算機(jī)基礎(chǔ)大學(xué)計(jì)算機(jī)基礎(chǔ)n程序設(shè)計(jì)程序設(shè)計(jì) n程序設(shè)計(jì)方法程序設(shè)計(jì)方法程序設(shè)計(jì)是一門技術(shù),需要相應(yīng)的理論、技術(shù)、程序設(shè)計(jì)是一門技術(shù),需要相應(yīng)的理論、技術(shù)、方

2、法和工具來支持。方法和工具來支持。程序設(shè)計(jì)方法是關(guān)于以什么觀點(diǎn)來研究問題并進(jìn)程序設(shè)計(jì)方法是關(guān)于以什么觀點(diǎn)來研究問題并進(jìn)行求解,以及如何進(jìn)行系統(tǒng)構(gòu)造的軟件方法學(xué)。行求解,以及如何進(jìn)行系統(tǒng)構(gòu)造的軟件方法學(xué)。就程序設(shè)計(jì)方法和技術(shù)的發(fā)展而言,主要經(jīng)過了就程序設(shè)計(jì)方法和技術(shù)的發(fā)展而言,主要經(jīng)過了結(jié)構(gòu)化程序設(shè)計(jì)和面向?qū)ο蟪绦蛟O(shè)計(jì)階段。結(jié)構(gòu)化程序設(shè)計(jì)和面向?qū)ο蟪绦蛟O(shè)計(jì)階段。大學(xué)計(jì)算機(jī)基礎(chǔ)大學(xué)計(jì)算機(jī)基礎(chǔ)9.1.2 程序設(shè)計(jì)的風(fēng)格程序設(shè)計(jì)的風(fēng)格 要形成良好的程序設(shè)計(jì)風(fēng)格,主要應(yīng)注要形成良好的程序設(shè)計(jì)風(fēng)格,主要應(yīng)注重和考慮下述一些因素:源程序文檔化、重和考慮下述一些因素:源程序文檔化、數(shù)據(jù)說明、語句構(gòu)造、輸入輸出

3、方法、效數(shù)據(jù)說明、語句構(gòu)造、輸入輸出方法、效率等。率等。 大學(xué)計(jì)算機(jī)基礎(chǔ)大學(xué)計(jì)算機(jī)基礎(chǔ)9.1.2 程序設(shè)計(jì)的風(fēng)格(續(xù))程序設(shè)計(jì)的風(fēng)格(續(xù)) n 源程序文檔化源程序文檔化p 符號名的命名符號名的命名 符號名即標(biāo)識符,包括模塊名、變量名。常量名、標(biāo)符號名即標(biāo)識符,包括模塊名、變量名。常量名、標(biāo)號名、子程序名以及數(shù)據(jù)區(qū)名、緩沖區(qū)名等。這些名字應(yīng)號名、子程序名以及數(shù)據(jù)區(qū)名、緩沖區(qū)名等。這些名字應(yīng)能反映它所代表的實(shí)際東西,應(yīng)有一定的實(shí)際意義,使其能反映它所代表的實(shí)際東西,應(yīng)有一定的實(shí)際意義,使其能夠見名知意,有助于對程序功能的理解。例如,表示次能夠見名知意,有助于對程序功能的理解。例如,表示次數(shù)的量用數(shù)

4、的量用timestimes,表示總量用,表示總量用totaltotal,表示平均值用,表示平均值用averageaverage,表示和的量用表示和的量用sum sum 等。為達(dá)此目的,不應(yīng)限制名字的長度。等。為達(dá)此目的,不應(yīng)限制名字的長度。大學(xué)計(jì)算機(jī)基礎(chǔ)大學(xué)計(jì)算機(jī)基礎(chǔ)9.1.2 程序設(shè)計(jì)的風(fēng)格(續(xù))程序設(shè)計(jì)的風(fēng)格(續(xù))p 程序的注釋程序的注釋 夾在程序中的注釋是程序員與日后的程序讀者之間通夾在程序中的注釋是程序員與日后的程序讀者之間通信的重要手段。正確的注釋能夠幫助讀者理解程序,可為信的重要手段。正確的注釋能夠幫助讀者理解程序,可為后續(xù)階段進(jìn)行測試和維護(hù),提供明確的指導(dǎo)。因此注釋決后續(xù)階段進(jìn)行

5、測試和維護(hù),提供明確的指導(dǎo)。因此注釋決不是可有可無的,大多數(shù)程序設(shè)計(jì)語言允許使用自然語言不是可有可無的,大多數(shù)程序設(shè)計(jì)語言允許使用自然語言寫注釋,這給閱讀程序帶來很大的方便。一些正規(guī)的程序?qū)懽⑨?,這給閱讀程序帶來很大的方便。一些正規(guī)的程序文本中,注釋行的數(shù)量占到整個(gè)源程序的文本中,注釋行的數(shù)量占到整個(gè)源程序的13 到到12。注釋分為注釋分為序言性注釋序言性注釋和和功能性注釋功能性注釋。 序言性注釋通常置于每個(gè)程序模塊的開頭部分,序言性注釋通常置于每個(gè)程序模塊的開頭部分,它應(yīng)當(dāng)給出程序的整體說明,對于理解程序本它應(yīng)當(dāng)給出程序的整體說明,對于理解程序本身具有引導(dǎo)作用。身具有引導(dǎo)作用。 功能性注釋嵌

6、在源程序體中,用以描述其后功能性注釋嵌在源程序體中,用以描述其后的語句或程序段是在作什么工作,也就是解釋的語句或程序段是在作什么工作,也就是解釋下面要下面要“作什么作什么”,或是執(zhí)行了下面的語句會,或是執(zhí)行了下面的語句會怎么樣。而不要解釋下面怎么作,因?yàn)榻忉屧踉趺礃?。而不要解釋下面怎么作,因?yàn)榻忉屧趺醋鞒3J桥c程序本身重復(fù)的。么作常常是與程序本身重復(fù)的。大學(xué)計(jì)算機(jī)基礎(chǔ)大學(xué)計(jì)算機(jī)基礎(chǔ)9.1.2 程序設(shè)計(jì)的風(fēng)格(續(xù))程序設(shè)計(jì)的風(fēng)格(續(xù))p 視覺組織視覺組織空格、空行和移行空格、空行和移行 為使程序的結(jié)構(gòu)一目了然,可以在程序中利用空格、空行、為使程序的結(jié)構(gòu)一目了然,可以在程序中利用空格、空行、縮進(jìn)等

7、技巧使程序?qū)哟吻逦???s進(jìn)等技巧使程序?qū)哟吻逦?IFIF()THENTHEN IF IF()THENTHEN ELSE ELSE ENDIF ENDIF ELSE ELSE ENDIF ENDIF大學(xué)計(jì)算機(jī)基礎(chǔ)大學(xué)計(jì)算機(jī)基礎(chǔ)9.1.2 程序設(shè)計(jì)的風(fēng)格(續(xù))程序設(shè)計(jì)的風(fēng)格(續(xù))n數(shù)據(jù)說明數(shù)據(jù)說明p 數(shù)據(jù)說明的順序應(yīng)規(guī)范數(shù)據(jù)說明的順序應(yīng)規(guī)范, ,使數(shù)據(jù)屬性容易查找,也有使數(shù)據(jù)屬性容易查找,也有利于測試、排錯(cuò)和維護(hù)。原則上,數(shù)據(jù)說明的次序與語利于測試、排錯(cuò)和維護(hù)。原則上,數(shù)據(jù)說明的次序與語法無關(guān),其次序是任意的。法無關(guān),其次序是任意的。p 同一說明語句中變量說明有序化同一說明語句中變量說明有序化,

8、,當(dāng)多個(gè)變量名用一當(dāng)多個(gè)變量名用一個(gè)語句說明時(shí),應(yīng)當(dāng)對這些變量按字母的順序排。個(gè)語句說明時(shí),應(yīng)當(dāng)對這些變量按字母的順序排。p 使用注釋說明復(fù)雜數(shù)據(jù)結(jié)構(gòu)。使用注釋說明復(fù)雜數(shù)據(jù)結(jié)構(gòu)。大學(xué)計(jì)算機(jī)基礎(chǔ)大學(xué)計(jì)算機(jī)基礎(chǔ)9.1.2 程序設(shè)計(jì)的風(fēng)格(續(xù))程序設(shè)計(jì)的風(fēng)格(續(xù))n語句構(gòu)造語句構(gòu)造p 構(gòu)造單個(gè)語句是編碼階段的任務(wù);語句構(gòu)造力求簡單構(gòu)造單個(gè)語句是編碼階段的任務(wù);語句構(gòu)造力求簡單直接,不能為了追求效率而使語句復(fù)雜化。直接,不能為了追求效率而使語句復(fù)雜化。p 為了便于閱讀和理解,不要一行多個(gè)語句。不同層次為了便于閱讀和理解,不要一行多個(gè)語句。不同層次的語句應(yīng)采用縮進(jìn)形式,使程序的邏輯結(jié)構(gòu)和功能特征的語句應(yīng)

9、采用縮進(jìn)形式,使程序的邏輯結(jié)構(gòu)和功能特征更加清晰。要避免復(fù)雜的判定條件,避免多重的循環(huán)嵌更加清晰。要避免復(fù)雜的判定條件,避免多重的循環(huán)嵌套。表達(dá)式中使用括號以提高運(yùn)算次序的清晰度等等。套。表達(dá)式中使用括號以提高運(yùn)算次序的清晰度等等。大學(xué)計(jì)算機(jī)基礎(chǔ)大學(xué)計(jì)算機(jī)基礎(chǔ)9.1.2 程序設(shè)計(jì)的風(fēng)格(續(xù))程序設(shè)計(jì)的風(fēng)格(續(xù))n 輸入輸出方法輸入輸出方法p 輸入操作步驟和輸入格式盡量簡單輸入操作步驟和輸入格式盡量簡單p 應(yīng)檢查輸入數(shù)據(jù)的合法性、有效性,報(bào)告必要的輸入狀應(yīng)檢查輸入數(shù)據(jù)的合法性、有效性,報(bào)告必要的輸入狀態(tài)信息即及錯(cuò)誤信息態(tài)信息即及錯(cuò)誤信息p 輸入一批數(shù)據(jù)時(shí),使用數(shù)據(jù)或文件結(jié)束標(biāo)志,而不要用輸入一批

10、數(shù)據(jù)時(shí),使用數(shù)據(jù)或文件結(jié)束標(biāo)志,而不要用計(jì)算來控制計(jì)算來控制p 交互式輸入時(shí),提供可用的選擇和邊界值交互式輸入時(shí),提供可用的選擇和邊界值p 當(dāng)程序設(shè)計(jì)語言有嚴(yán)格的格式要求時(shí),應(yīng)保持輸入格當(dāng)程序設(shè)計(jì)語言有嚴(yán)格的格式要求時(shí),應(yīng)保持輸入格式的一致性式的一致性p 輸入數(shù)據(jù)表格化、圖形化輸入數(shù)據(jù)表格化、圖形化大學(xué)計(jì)算機(jī)基礎(chǔ)大學(xué)計(jì)算機(jī)基礎(chǔ)9.1.2 程序設(shè)計(jì)的風(fēng)格(續(xù))程序設(shè)計(jì)的風(fēng)格(續(xù))n效率效率 效率是指處理機(jī)時(shí)間和存儲空間的使用,對效率效率是指處理機(jī)時(shí)間和存儲空間的使用,對效率的追求應(yīng)明確以下幾點(diǎn):的追求應(yīng)明確以下幾點(diǎn):p 效率是一個(gè)性能要求,目標(biāo)在需求分析時(shí)給出效率是一個(gè)性能要求,目標(biāo)在需求分析時(shí)

11、給出p 追求效率要建立在不損害程序可讀性或可靠性的基礎(chǔ)上,追求效率要建立在不損害程序可讀性或可靠性的基礎(chǔ)上,要先使程序正確、清晰,再提高程序效率要先使程序正確、清晰,再提高程序效率 p 提高程序效率的根本途徑在于選擇良好的設(shè)計(jì)方法、良提高程序效率的根本途徑在于選擇良好的設(shè)計(jì)方法、良好的數(shù)據(jù)結(jié)構(gòu)算法,而不是靠編程時(shí)對程序語句做調(diào)整好的數(shù)據(jù)結(jié)構(gòu)算法,而不是靠編程時(shí)對程序語句做調(diào)整大學(xué)計(jì)算機(jī)基礎(chǔ)大學(xué)計(jì)算機(jī)基礎(chǔ)9.2 9.2 結(jié)構(gòu)化程序設(shè)計(jì)結(jié)構(gòu)化程序設(shè)計(jì)大學(xué)計(jì)算機(jī)基礎(chǔ)大學(xué)計(jì)算機(jī)基礎(chǔ)9.2 結(jié)構(gòu)化程序設(shè)計(jì)9.2.1 9.2.1 結(jié)構(gòu)化程序設(shè)計(jì)的原則結(jié)構(gòu)化程序設(shè)計(jì)的原則9.2.2 9.2.2 結(jié)構(gòu)化程序設(shè)

12、計(jì)的基本結(jié)構(gòu)和特點(diǎn)結(jié)構(gòu)化程序設(shè)計(jì)的基本結(jié)構(gòu)和特點(diǎn)9.2.3 9.2.3 結(jié)構(gòu)化程序設(shè)計(jì)原則和方法的應(yīng)用結(jié)構(gòu)化程序設(shè)計(jì)原則和方法的應(yīng)用大學(xué)計(jì)算機(jī)基礎(chǔ)大學(xué)計(jì)算機(jī)基礎(chǔ)9.2.1 結(jié)構(gòu)化程序設(shè)計(jì)的原則結(jié)構(gòu)化程序設(shè)計(jì)的原則n自頂向下自頂向下n逐步求精逐步求精 程序設(shè)計(jì)時(shí),應(yīng)先考慮總體,后考慮細(xì)節(jié);先考慮程序設(shè)計(jì)時(shí),應(yīng)先考慮總體,后考慮細(xì)節(jié);先考慮全局目標(biāo),后考慮局部目標(biāo)。先從最上層總目標(biāo)開全局目標(biāo),后考慮局部目標(biāo)。先從最上層總目標(biāo)開始設(shè)計(jì),逐步使問題具體化。始設(shè)計(jì),逐步使問題具體化。對復(fù)雜問題,應(yīng)設(shè)計(jì)一些子目標(biāo)作過渡,逐步細(xì)化。對復(fù)雜問題,應(yīng)設(shè)計(jì)一些子目標(biāo)作過渡,逐步細(xì)化。大學(xué)計(jì)算機(jī)基礎(chǔ)大學(xué)計(jì)算機(jī)基礎(chǔ)9

13、.2.1 結(jié)構(gòu)化程序設(shè)計(jì)的原則(續(xù))結(jié)構(gòu)化程序設(shè)計(jì)的原則(續(xù))n模塊化模塊化n限制使用限制使用gotogoto語句語句模塊化是把程序要解決的總目標(biāo)分解為分目標(biāo),模塊化是把程序要解決的總目標(biāo)分解為分目標(biāo),再進(jìn)一步分解為具體的小目標(biāo),把每個(gè)小目標(biāo)稱再進(jìn)一步分解為具體的小目標(biāo),把每個(gè)小目標(biāo)稱為一個(gè)模塊。為一個(gè)模塊。 gotogoto語句的使用會導(dǎo)致程序流程的混亂,因此語句的使用會導(dǎo)致程序流程的混亂,因此應(yīng)限制使用。應(yīng)限制使用。大學(xué)計(jì)算機(jī)基礎(chǔ)大學(xué)計(jì)算機(jī)基礎(chǔ)9.2.2 結(jié)構(gòu)化程序設(shè)計(jì)的基本結(jié)構(gòu)和特點(diǎn)結(jié)構(gòu)化程序設(shè)計(jì)的基本結(jié)構(gòu)和特點(diǎn)三種基本控制結(jié)構(gòu)三種基本控制結(jié)構(gòu) n 順序結(jié)構(gòu)順序結(jié)構(gòu)n 選擇結(jié)構(gòu)選擇結(jié)構(gòu)n

14、 循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)程序優(yōu)點(diǎn)是:結(jié)構(gòu)良好、各模塊間的關(guān)系清晰簡單、程序優(yōu)點(diǎn)是:結(jié)構(gòu)良好、各模塊間的關(guān)系清晰簡單、每一模塊內(nèi)部由基本單元組成,設(shè)計(jì)出的程序清晰每一模塊內(nèi)部由基本單元組成,設(shè)計(jì)出的程序清晰易讀、可理解性好、容易設(shè)計(jì)、容易驗(yàn)證其正確性、易讀、可理解性好、容易設(shè)計(jì)、容易驗(yàn)證其正確性、也容易維護(hù)。也容易維護(hù)。大學(xué)計(jì)算機(jī)基礎(chǔ)大學(xué)計(jì)算機(jī)基礎(chǔ)9.2.3 結(jié)構(gòu)化程序設(shè)計(jì)原則和方法的應(yīng)用結(jié)構(gòu)化程序設(shè)計(jì)原則和方法的應(yīng)用n 程序設(shè)計(jì)過程中的原則:程序設(shè)計(jì)過程中的原則: 自頂向下,逐步細(xì)化,由粗到細(xì),一步步展開,自頂向下,逐步細(xì)化,由粗到細(xì),一步步展開,把一個(gè)模塊的功能逐步分解,細(xì)化為一系列具體把一個(gè)模塊

15、的功能逐步分解,細(xì)化為一系列具體的步驟,進(jìn)而翻譯成一系列用某種程序設(shè)計(jì)語言的步驟,進(jìn)而翻譯成一系列用某種程序設(shè)計(jì)語言寫成的程序。寫成的程序。大學(xué)計(jì)算機(jī)基礎(chǔ)大學(xué)計(jì)算機(jī)基礎(chǔ)9.2.3 結(jié)構(gòu)化程序設(shè)計(jì)原則和方法的應(yīng)用結(jié)構(gòu)化程序設(shè)計(jì)原則和方法的應(yīng)用n在具體實(shí)施中,要在具體實(shí)施中,要注意注意以下幾點(diǎn):以下幾點(diǎn):p 使用語言中的順序、選擇、循環(huán)等有限的基本控制結(jié)構(gòu)使用語言中的順序、選擇、循環(huán)等有限的基本控制結(jié)構(gòu)表示程序邏輯。表示程序邏輯。p 程序語句組成容易識別的塊,每塊只有一個(gè)入口和一程序語句組成容易識別的塊,每塊只有一個(gè)入口和一個(gè)出口。個(gè)出口。p 嚴(yán)格控制嚴(yán)格控制goto語句。語句。p 選用的控制結(jié)構(gòu)

16、只準(zhǔn)許有一個(gè)入口和一個(gè)出口。選用的控制結(jié)構(gòu)只準(zhǔn)許有一個(gè)入口和一個(gè)出口。p 復(fù)雜結(jié)構(gòu)應(yīng)該用基本控制結(jié)構(gòu)進(jìn)行組合嵌套來實(shí)現(xiàn)。復(fù)雜結(jié)構(gòu)應(yīng)該用基本控制結(jié)構(gòu)進(jìn)行組合嵌套來實(shí)現(xiàn)。p 語言中沒有的控制結(jié)構(gòu),可用一段等價(jià)的程序段模擬,但語言中沒有的控制結(jié)構(gòu),可用一段等價(jià)的程序段模擬,但要求該程序段在整個(gè)系統(tǒng)中應(yīng)前后一致。要求該程序段在整個(gè)系統(tǒng)中應(yīng)前后一致。大學(xué)計(jì)算機(jī)基礎(chǔ)大學(xué)計(jì)算機(jī)基礎(chǔ)9.3 9.3 面向?qū)ο蟪绦蛟O(shè)計(jì)面向?qū)ο蟪绦蛟O(shè)計(jì)大學(xué)計(jì)算機(jī)基礎(chǔ)大學(xué)計(jì)算機(jī)基礎(chǔ)9.3 面向?qū)ο蟪绦蛟O(shè)計(jì)9.3.1 9.3.1 面向?qū)ο蟪绦蛟O(shè)計(jì)概述面向?qū)ο蟪绦蛟O(shè)計(jì)概述9.3.2 9.3.2 面向?qū)ο蠓椒ǖ奶攸c(diǎn)面向?qū)ο蠓椒ǖ奶攸c(diǎn)9.3

17、.3 9.3.3 面向?qū)ο蟪绦蛟O(shè)計(jì)的相關(guān)概念面向?qū)ο蟪绦蛟O(shè)計(jì)的相關(guān)概念 大學(xué)計(jì)算機(jī)基礎(chǔ)大學(xué)計(jì)算機(jī)基礎(chǔ)9.3.1 面向?qū)ο蟪绦蛟O(shè)計(jì)概述面向?qū)ο蟪绦蛟O(shè)計(jì)概述 是一種把面向?qū)ο蟮乃枷脒\(yùn)用于軟件開發(fā)過程是一種把面向?qū)ο蟮乃枷脒\(yùn)用于軟件開發(fā)過程中,指導(dǎo)開發(fā)活動的系統(tǒng)方法,簡稱中,指導(dǎo)開發(fā)活動的系統(tǒng)方法,簡稱OOOO方法,方法,是建立在是建立在“對象對象”概念(對象、類和繼承)基概念(對象、類和繼承)基礎(chǔ)上的方法學(xué)。礎(chǔ)上的方法學(xué)。 n 面向?qū)ο蟪绦蛟O(shè)計(jì)方法面向?qū)ο蟪绦蛟O(shè)計(jì)方法大學(xué)計(jì)算機(jī)基礎(chǔ)大學(xué)計(jì)算機(jī)基礎(chǔ)9.3.1 面向?qū)ο蟪绦蛟O(shè)計(jì)概述(續(xù))面向?qū)ο蟪绦蛟O(shè)計(jì)概述(續(xù)) 對問題空間進(jìn)行自然分割,以更接近人類思

18、維對問題空間進(jìn)行自然分割,以更接近人類思維的方式,建立問題域模型,以便對客觀實(shí)體進(jìn)行的方式,建立問題域模型,以便對客觀實(shí)體進(jìn)行結(jié)構(gòu)模擬和行為模擬,從而使所設(shè)計(jì)出的軟件盡結(jié)構(gòu)模擬和行為模擬,從而使所設(shè)計(jì)出的軟件盡可能直接地描述現(xiàn)實(shí)世界,構(gòu)造出模塊化的、可可能直接地描述現(xiàn)實(shí)世界,構(gòu)造出模塊化的、可重用的、維護(hù)性好的軟件,并能夠控制軟件的復(fù)重用的、維護(hù)性好的軟件,并能夠控制軟件的復(fù)雜性和降低開發(fā)維護(hù)費(fèi)用。雜性和降低開發(fā)維護(hù)費(fèi)用。n 面向?qū)ο蟪绦蛟O(shè)計(jì)基本思想面向?qū)ο蟪绦蛟O(shè)計(jì)基本思想大學(xué)計(jì)算機(jī)基礎(chǔ)大學(xué)計(jì)算機(jī)基礎(chǔ)9.3.2 面向?qū)ο蠓椒ǖ奶攸c(diǎn)面向?qū)ο蠓椒ǖ奶攸c(diǎn)n系統(tǒng)由對象構(gòu)成,對象是一個(gè)包含屬性和操作兩系

19、統(tǒng)由對象構(gòu)成,對象是一個(gè)包含屬性和操作兩方面的獨(dú)立單元,對象之間通過消息傳遞聯(lián)系。方面的獨(dú)立單元,對象之間通過消息傳遞聯(lián)系。n 面向?qū)ο蠓椒ò凑杖祟惖淖匀凰季S方式,面對客面向?qū)ο蠓椒ò凑杖祟惖淖匀凰季S方式,面對客觀世界建立軟件系統(tǒng)模型。觀世界建立軟件系統(tǒng)模型。n 對象、類、繼承、封裝、消息等基本概念符合對象、類、繼承、封裝、消息等基本概念符合人類的自然思維方式。人類的自然思維方式。n 有利于對業(yè)務(wù)領(lǐng)域和系統(tǒng)責(zé)任的理解,有利于人有利于對業(yè)務(wù)領(lǐng)域和系統(tǒng)責(zé)任的理解,有利于人員的交流。員的交流。大學(xué)計(jì)算機(jī)基礎(chǔ)大學(xué)計(jì)算機(jī)基礎(chǔ)9.3.2 面向?qū)ο蠓椒ǖ奶攸c(diǎn)(續(xù))面向?qū)ο蠓椒ǖ奶攸c(diǎn)(續(xù))n 面向?qū)ο蟮姆庋b機(jī)

20、制使開發(fā)人員可以把最穩(wěn)定的面向?qū)ο蟮姆庋b機(jī)制使開發(fā)人員可以把最穩(wěn)定的部分(即對象)作為構(gòu)筑系統(tǒng)的基本單位,而把容部分(即對象)作為構(gòu)筑系統(tǒng)的基本單位,而把容易發(fā)生變化的部分(即屬性與操作)封裝在對象之易發(fā)生變化的部分(即屬性與操作)封裝在對象之內(nèi)。對象之間通過接口聯(lián)系,使得需求變化的影響內(nèi)。對象之間通過接口聯(lián)系,使得需求變化的影響盡可能地限制在對象的內(nèi)部。盡可能地限制在對象的內(nèi)部。n 面向?qū)ο蠓椒ㄖС周浖?fù)用。面向?qū)ο蠓椒ㄖС周浖?fù)用。n 對象具有封裝性和信息隱蔽等特性,使其容易實(shí)現(xiàn)對象具有封裝性和信息隱蔽等特性,使其容易實(shí)現(xiàn)軟件復(fù)用。軟件復(fù)用。n面向?qū)ο蠓椒▽π枨笞兓休^好的適應(yīng)性。面向?qū)ο?/p>

21、方法對需求變化有較好的適應(yīng)性。大學(xué)計(jì)算機(jī)基礎(chǔ)大學(xué)計(jì)算機(jī)基礎(chǔ)9.3.2 面向?qū)ο蠓椒ǖ奶攸c(diǎn)(續(xù))面向?qū)ο蠓椒ǖ奶攸c(diǎn)(續(xù))n系統(tǒng)出錯(cuò)時(shí)容易定位和修改,而且不至于牽一發(fā)而系統(tǒng)出錯(cuò)時(shí)容易定位和修改,而且不至于牽一發(fā)而動全身。動全身。n 對象類可以派生成新類,類可以產(chǎn)生實(shí)例對象,對象類可以派生成新類,類可以產(chǎn)生實(shí)例對象,從而實(shí)現(xiàn)了對象類數(shù)據(jù)結(jié)構(gòu)和操作代碼的軟件復(fù)用從而實(shí)現(xiàn)了對象類數(shù)據(jù)結(jié)構(gòu)和操作代碼的軟件復(fù)用。n 面向?qū)ο蟪绦蛟O(shè)計(jì)語言的開發(fā)環(huán)境一般預(yù)定義了系面向?qū)ο蟪绦蛟O(shè)計(jì)語言的開發(fā)環(huán)境一般預(yù)定義了系統(tǒng)動態(tài)鏈接庫,提供大量公用程序代碼,提高了開發(fā)統(tǒng)動態(tài)鏈接庫,提供大量公用程序代碼,提高了開發(fā)效率和質(zhì)量。效

22、率和質(zhì)量。n 面向?qū)ο蟮能浖到y(tǒng)可維護(hù)性好。面向?qū)ο蟮能浖到y(tǒng)可維護(hù)性好。大學(xué)計(jì)算機(jī)基礎(chǔ)大學(xué)計(jì)算機(jī)基礎(chǔ)9.3.3 面向?qū)ο蟪绦蛟O(shè)計(jì)的相關(guān)概念面向?qū)ο蟪绦蛟O(shè)計(jì)的相關(guān)概念n 對象對象 n 消息消息 對象是程序的基本單位,是一組數(shù)據(jù)(屬性)和對象是程序的基本單位,是一組數(shù)據(jù)(屬性)和施加于這些數(shù)據(jù)上的一組操作代碼(操作)構(gòu)成施加于這些數(shù)據(jù)上的一組操作代碼(操作)構(gòu)成的邏輯實(shí)體。的邏輯實(shí)體。消息是為了實(shí)現(xiàn)某一功能而要求某個(gè)對象執(zhí)行其消息是為了實(shí)現(xiàn)某一功能而要求某個(gè)對象執(zhí)行其中某個(gè)功能操作的規(guī)格說明。對象之間的相互服中某個(gè)功能操作的規(guī)格說明。對象之間的相互服務(wù)是通過消息來連接實(shí)現(xiàn)的。務(wù)是通過消息來連接實(shí)現(xiàn)的。大學(xué)計(jì)算機(jī)基礎(chǔ)大學(xué)計(jì)算機(jī)基礎(chǔ)9.3.3 面向?qū)ο蟪绦蛟O(shè)計(jì)的相關(guān)概念(續(xù))面向?qū)ο蟪绦蛟O(shè)計(jì)的相關(guān)概念(續(xù))n 屬性、事件和方法屬性、事件和方法p 屬性是對象具有的特征或某一方面的行為。屬性是對象具有的特征或某一方面的行為。p 事件是事件是指對象能夠識別的動作,可以編寫指對象

溫馨提示

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

最新文檔

評論

0/150

提交評論