




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第二章 程序設(shè)計(jì)基礎(chǔ) 2.1 程序設(shè)計(jì)方法和風(fēng)格 2.2 結(jié)構(gòu)化程序設(shè)計(jì) 2.3 面對(duì)對(duì)象的程序設(shè)計(jì),2.1 程序設(shè)計(jì)方法與風(fēng)格,程序設(shè)計(jì)方法與技術(shù)的發(fā)展經(jīng)過(guò)了結(jié)構(gòu)化程序設(shè)計(jì)和面向?qū)ο蟪绦蛟O(shè)計(jì)兩個(gè)階段。 “清晰第一,效率第二”的論點(diǎn)已成為當(dāng)今主導(dǎo)的程序設(shè)計(jì)風(fēng)格。 主要應(yīng)注重和考慮以下一些因素: 1、源程序文檔化 符號(hào)名的命名(有一定的實(shí)際含義) 程序注釋?zhuān)ㄐ蜓孕宰⑨尯凸δ苄宰⑨專(zhuān)?視覺(jué)組織(在程序中利用空格、空行、縮進(jìn)等技巧使程序?qū)哟吻逦?2、數(shù)據(jù)說(shuō)明的方法 數(shù)據(jù)說(shuō)明的風(fēng)格應(yīng)該符合人的習(xí)慣思維 A、數(shù)據(jù)說(shuō)明的次序規(guī)范化 B、說(shuō)明語(yǔ)句中變量安排有序化 C、使用注釋來(lái)說(shuō)明復(fù)雜數(shù)據(jù)結(jié)構(gòu) 3、語(yǔ)句的
2、結(jié)構(gòu): 語(yǔ)句結(jié)構(gòu)應(yīng)該簡(jiǎn)單直接,不應(yīng)該為提高效率把語(yǔ)句復(fù)雜化 4、輸入和輸出 合法、合理、簡(jiǎn)單、自由、允許缺省值、結(jié)束標(biāo)志、提示 信息、給輸出加注釋,2.2 結(jié)構(gòu)化程序設(shè)計(jì),2.2.1 結(jié)構(gòu)化程序設(shè)計(jì)的原則 1、自頂向下(先總體再細(xì)節(jié),先全局再局部) 2、逐步求精(復(fù)雜的問(wèn)題設(shè)計(jì)子目標(biāo),逐步細(xì)化) 3、模塊化(把總目標(biāo)分成一個(gè)個(gè)模塊) 4、限制使用goto語(yǔ)句(程序的質(zhì)量與GOTO語(yǔ)句的數(shù)量成反比),2.2.2 結(jié)構(gòu)化程序的基本結(jié)構(gòu)與特點(diǎn) 基本結(jié)構(gòu): 1、順序結(jié)構(gòu):一種簡(jiǎn)單的程序設(shè)計(jì),最基本、最常用的結(jié)構(gòu); 2、選擇結(jié)構(gòu)(簡(jiǎn)單選擇和多分支選擇結(jié)構(gòu))可根據(jù)條件,判斷應(yīng)該選擇哪一條分支來(lái)執(zhí)行相應(yīng)的語(yǔ)
3、句序列 3、重復(fù)結(jié)構(gòu)(循環(huán)結(jié)構(gòu))可根據(jù)給定條件,判斷是否需要重復(fù)執(zhí)行某一相同程序段 優(yōu)點(diǎn): 程序易于理解、使用和維護(hù); 提高了編程的效率,降低了軟件成本,2.3 面向?qū)ο蟮某绦蛟O(shè)計(jì),2.3.1 面向?qū)ο蠓椒ǖ谋举|(zhì) 主張從客觀世界固有的事物出發(fā)來(lái)構(gòu)造系統(tǒng),提倡用人類(lèi)在現(xiàn)實(shí)生活中常用的思維方法來(lái)認(rèn)識(shí)、理解和描述客觀事物,強(qiáng)調(diào)最終建立的系統(tǒng)能夠映射問(wèn)題域,也就是說(shuō),系統(tǒng)中的對(duì)象以及對(duì)象之間的關(guān)系能夠如實(shí)地反映問(wèn)題域中固有事物及其關(guān)系。 面向?qū)ο蠓椒ǖ膬?yōu)點(diǎn): 接近人類(lèi)習(xí)慣的思維方法; 穩(wěn)定性好; 可重用性好; 易于開(kāi)發(fā)大型軟件產(chǎn)品; 可維護(hù)性好。,2.3.2 面向?qū)ο蠓椒ǖ幕靖拍?1、對(duì)象 (1)定
4、義:是指描述該對(duì)象屬性的數(shù)據(jù)以及對(duì)這些數(shù)據(jù)施加的所有操作封裝在一起構(gòu)成的統(tǒng)一體。對(duì)象是面向?qū)ο蠓椒ㄖ凶罨镜母拍?,可以用?lái)表示客觀世界中的任何實(shí)體,對(duì)象是實(shí)體的抽象。 (2)對(duì)象的屬性和方法: 面向?qū)ο蟮某绦蛟O(shè)計(jì)方法中的對(duì)象是系統(tǒng)中用來(lái)描述客觀事物的一個(gè)實(shí)體,是構(gòu)成系統(tǒng)的一個(gè)基本單位,由一組表示其靜態(tài)特征的屬性和它可執(zhí)行的一組操作組成。 屬性是對(duì)象所包含的信息,它在設(shè)計(jì)對(duì)象時(shí)確定,一般只能通過(guò)執(zhí)行對(duì)象操作才能改變。 方法(操作)描述了對(duì)象執(zhí)行的功能,若通過(guò)消息傳遞,還可以為其他對(duì)象使用。操作也稱(chēng)為方法或服務(wù)。,(3)對(duì)象的基本特點(diǎn) a.標(biāo)志唯一性(對(duì)象由其內(nèi)部本質(zhì)來(lái)區(qū)分) b.分類(lèi)性(將相同屬
5、性和方法的對(duì)象抽象為類(lèi)) c.多態(tài)性(同一操作可以是不同對(duì)象的行為) d.封裝性(從外部看不到對(duì)象的內(nèi)部,只能看到外部特征) e.模塊獨(dú)立性好(一個(gè)對(duì)象相當(dāng)于一個(gè)模塊),模塊的獨(dú)立性與信息隱蔽直接相關(guān),信息隱蔽是通過(guò)對(duì)象的封裝來(lái)實(shí)現(xiàn),2007.9.3例:在面向?qū)ο蠓椒ㄖ校瑢?shí)現(xiàn)信息隱蔽依靠 A.對(duì)象的繼承 B.對(duì)象的封裝 C.對(duì)象的多態(tài) D.對(duì)象的分類(lèi),2、類(lèi)和實(shí)例 類(lèi)是具有共同屬性、共同方法的對(duì)象的集合,類(lèi)是對(duì)象的抽象,它描述了屬于該對(duì)象類(lèi)型的所有對(duì)象的性質(zhì),而一個(gè)對(duì)象則是其對(duì)應(yīng)類(lèi)的一個(gè)實(shí)例。 注意: 當(dāng)使用“對(duì)象”這個(gè)術(shù)語(yǔ)時(shí),既可以指一個(gè)具體的對(duì)象,也可以泛指一般的對(duì)象,而使用“實(shí)例”時(shí),必
6、然指一個(gè)具體的對(duì)象。 例如:一個(gè)大學(xué)生類(lèi),張三是一個(gè)實(shí)例,3、消息 是指對(duì)象間的相互合作的協(xié)助機(jī)制,是一個(gè)對(duì)象與另一個(gè)對(duì)象之間傳遞的消息。見(jiàn)書(shū)上圖 消息的組成:接受消息的對(duì)象名稱(chēng) 消息標(biāo)識(shí)符 零個(gè)或多個(gè)參數(shù)組成。 消息只告訴接收對(duì)象需要完成什么操作,但并不指示怎樣完成操作 一個(gè)象能夠接受不同形式、不同內(nèi)容的多個(gè)消息; 相同形式的消息可以送往不同的對(duì)象,不同的對(duì)象對(duì)形式相同的消息可以有不同的解釋?zhuān)軌蜃龀霾煌姆从场?一個(gè)對(duì)象可以同時(shí)往多個(gè)對(duì)象傳遞信息,兩個(gè)對(duì)象也可以同時(shí)向某個(gè)對(duì)象傳遞消息。 例: Mycircle.show(green) Mycircle是一個(gè)R=4,C(100,200)的ci
7、rcle類(lèi)的對(duì)象。也就是circle類(lèi)的一個(gè)實(shí)例,當(dāng)要求它以綠顏色在屏幕上顯示自己,4、繼承 是指使用已有的類(lèi)定義作為基礎(chǔ)建立新類(lèi)的定義技術(shù)。具有傳遞性。 廣義地說(shuō),繼承是指能夠直接獲得已有的性質(zhì)和特性,而不必重復(fù)定義它們。 傳遞性:如果類(lèi)C繼承類(lèi)B,類(lèi)B繼承類(lèi)A,則類(lèi)C繼承類(lèi)A 繼承分為單繼承和多繼承。前者一個(gè)類(lèi)中只允許有一個(gè)父類(lèi),而后者中一個(gè)類(lèi)允許有多個(gè)父類(lèi)。 例如:“水陸兩用交通工具”類(lèi),既繼承了“路上交通工具”類(lèi),又繼承了“水上交通工具”類(lèi)的特性。,繼承性的優(yōu)點(diǎn):相似的對(duì)象可以共享程序代碼和數(shù)據(jù)結(jié)構(gòu),從而大大減少了程序的冗余信息,提高軟件的可重用性,便于軟件修改維護(hù)。另外,繼承性使得用戶(hù)在開(kāi)發(fā)新的應(yīng)用系統(tǒng)時(shí)不必完全從零開(kāi)始,可以繼承原有的相似的系統(tǒng)的功能或者從類(lèi)庫(kù)中選取需要的類(lèi),再派生出新的類(lèi)以實(shí)現(xiàn)所需要的功能。,5、多態(tài)性 是指同樣的消息被不同的對(duì)象接受時(shí)可導(dǎo)致完全不同的動(dòng)作的現(xiàn)象。 減少了信息冗余,提高了軟件的可重用性和可擴(kuò)充性
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 水果店淡季活動(dòng)活動(dòng)方案
- 此次蛋糕diy活動(dòng)方案
- 汽車(chē)春節(jié)活動(dòng)方案
- 河南綠地活動(dòng)方案
- 沙龍座談活動(dòng)方案
- 歡迎團(tuán)建活動(dòng)方案
- 汽車(chē)上市公司活動(dòng)方案
- 水墨項(xiàng)目活動(dòng)方案
- 江夢(mèng)南征文活動(dòng)方案
- 水餃策劃活動(dòng)方案
- 倉(cāng)管應(yīng)聘求職簡(jiǎn)歷表格
- 五年級(jí)下冊(cè)語(yǔ)文期末考試學(xué)霸?shī)Z冠解密卷人教部編版含答案
- 房屋加固工程監(jiān)理規(guī)劃
- 一級(jí)煙草專(zhuān)賣(mài)管理師理論考試題庫(kù)(含答案)
- von frey絲K值表完整版
- SAP月結(jié)年結(jié)用戶(hù)手冊(cè)精
- 碳捕集、利用與封存技術(shù)課件
- 碳達(dá)峰和“碳中和”環(huán)境知識(shí)科普宣傳PPT教學(xué)課件
- 中文版b4a新手指南-第14-15章語(yǔ)言畫(huà)圖
- 《消防安全技術(shù)實(shí)務(wù)》課本完整版
- 北師大版七年級(jí)數(shù)學(xué)下冊(cè) 與信息技術(shù)相融合的數(shù)學(xué)教學(xué)案例 教案
評(píng)論
0/150
提交評(píng)論