




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(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)過了結(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í)際含義) 程序注釋(序言性注釋和功能性注釋) 視覺組織(在程序中利用空格、空行、縮進(jìn)等技巧使程序?qū)哟吻逦?2、數(shù)據(jù)說明的方法 數(shù)據(jù)說明的風(fēng)格應(yīng)該符合人的習(xí)慣思維 A、數(shù)據(jù)說明的次序規(guī)范化 B、說明語句中變量安排有序化 C、使用注釋來說明復(fù)雜數(shù)據(jù)結(jié)構(gòu) 3、語句的
2、結(jié)構(gòu): 語句結(jié)構(gòu)應(yīng)該簡(jiǎn)單直接,不應(yīng)該為提高效率把語句復(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ù)雜的問題設(shè)計(jì)子目標(biāo),逐步細(xì)化) 3、模塊化(把總目標(biāo)分成一個(gè)個(gè)模塊) 4、限制使用goto語句(程序的質(zhì)量與GOTO語句的數(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)該選擇哪一條分支來執(zhí)行相應(yīng)的語
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ā)來構(gòu)造系統(tǒng),提倡用人類在現(xiàn)實(shí)生活中常用的思維方法來認(rèn)識(shí)、理解和描述客觀事物,強(qiáng)調(diào)最終建立的系統(tǒng)能夠映射問題域,也就是說,系統(tǒng)中的對(duì)象以及對(duì)象之間的關(guān)系能夠如實(shí)地反映問題域中固有事物及其關(guān)系。 面向?qū)ο蠓椒ǖ膬?yōu)點(diǎn): 接近人類習(xí)慣的思維方法; 穩(wěn)定性好; 可重用性好; 易于開發(fā)大型軟件產(chǎn)品; 可維護(hù)性好。,2.3.2 面向?qū)ο蠓椒ǖ幕靖拍?1、對(duì)象 (1)定
4、義:是指描述該對(duì)象屬性的數(shù)據(jù)以及對(duì)這些數(shù)據(jù)施加的所有操作封裝在一起構(gòu)成的統(tǒng)一體。對(duì)象是面向?qū)ο蠓椒ㄖ凶罨镜母拍?,可以用來表示客觀世界中的任何實(shí)體,對(duì)象是實(shí)體的抽象。 (2)對(duì)象的屬性和方法: 面向?qū)ο蟮某绦蛟O(shè)計(jì)方法中的對(duì)象是系統(tǒng)中用來描述客觀事物的一個(gè)實(shí)體,是構(gòu)成系統(tǒng)的一個(gè)基本單位,由一組表示其靜態(tài)特征的屬性和它可執(zhí)行的一組操作組成。 屬性是對(duì)象所包含的信息,它在設(shè)計(jì)對(duì)象時(shí)確定,一般只能通過執(zhí)行對(duì)象操作才能改變。 方法(操作)描述了對(duì)象執(zhí)行的功能,若通過消息傳遞,還可以為其他對(duì)象使用。操作也稱為方法或服務(wù)。,(3)對(duì)象的基本特點(diǎn) a.標(biāo)志唯一性(對(duì)象由其內(nèi)部本質(zhì)來區(qū)分) b.分類性(將相同屬
5、性和方法的對(duì)象抽象為類) c.多態(tài)性(同一操作可以是不同對(duì)象的行為) d.封裝性(從外部看不到對(duì)象的內(nèi)部,只能看到外部特征) e.模塊獨(dú)立性好(一個(gè)對(duì)象相當(dāng)于一個(gè)模塊),模塊的獨(dú)立性與信息隱蔽直接相關(guān),信息隱蔽是通過對(duì)象的封裝來實(shí)現(xiàn),2007.9.3例:在面向?qū)ο蠓椒ㄖ校瑢?shí)現(xiàn)信息隱蔽依靠 A.對(duì)象的繼承 B.對(duì)象的封裝 C.對(duì)象的多態(tài) D.對(duì)象的分類,2、類和實(shí)例 類是具有共同屬性、共同方法的對(duì)象的集合,類是對(duì)象的抽象,它描述了屬于該對(duì)象類型的所有對(duì)象的性質(zhì),而一個(gè)對(duì)象則是其對(duì)應(yīng)類的一個(gè)實(shí)例。 注意: 當(dāng)使用“對(duì)象”這個(gè)術(shù)語時(shí),既可以指一個(gè)具體的對(duì)象,也可以泛指一般的對(duì)象,而使用“實(shí)例”時(shí),必
6、然指一個(gè)具體的對(duì)象。 例如:一個(gè)大學(xué)生類,張三是一個(gè)實(shí)例,3、消息 是指對(duì)象間的相互合作的協(xié)助機(jī)制,是一個(gè)對(duì)象與另一個(gè)對(duì)象之間傳遞的消息。見書上圖 消息的組成:接受消息的對(duì)象名稱 消息標(biāo)識(shí)符 零個(gè)或多個(gè)參數(shù)組成。 消息只告訴接收對(duì)象需要完成什么操作,但并不指示怎樣完成操作 一個(gè)象能夠接受不同形式、不同內(nèi)容的多個(gè)消息; 相同形式的消息可以送往不同的對(duì)象,不同的對(duì)象對(duì)形式相同的消息可以有不同的解釋,能夠做出不同的反映。 一個(gè)對(duì)象可以同時(shí)往多個(gè)對(duì)象傳遞信息,兩個(gè)對(duì)象也可以同時(shí)向某個(gè)對(duì)象傳遞消息。 例: Mycircle.show(green) Mycircle是一個(gè)R=4,C(100,200)的ci
7、rcle類的對(duì)象。也就是circle類的一個(gè)實(shí)例,當(dāng)要求它以綠顏色在屏幕上顯示自己,4、繼承 是指使用已有的類定義作為基礎(chǔ)建立新類的定義技術(shù)。具有傳遞性。 廣義地說,繼承是指能夠直接獲得已有的性質(zhì)和特性,而不必重復(fù)定義它們。 傳遞性:如果類C繼承類B,類B繼承類A,則類C繼承類A 繼承分為單繼承和多繼承。前者一個(gè)類中只允許有一個(gè)父類,而后者中一個(gè)類允許有多個(gè)父類。 例如:“水陸兩用交通工具”類,既繼承了“路上交通工具”類,又繼承了“水上交通工具”類的特性。,繼承性的優(yōu)點(diǎn):相似的對(duì)象可以共享程序代碼和數(shù)據(jù)結(jié)構(gòu),從而大大減少了程序的冗余信息,提高軟件的可重用性,便于軟件修改維護(hù)。另外,繼承性使得用戶在開發(fā)新的應(yīng)用系統(tǒng)時(shí)不必完全從零開始,可以繼承原有的相似的系統(tǒng)的功能或者從類庫中選取需要的類,再派生出新的類以實(shí)現(xiàn)所需要的功能。,5、多態(tài)性 是指同樣的消息被不同的對(duì)象接受時(shí)可導(dǎo)致完全不同的動(dòng)作的現(xiàn)象。 減少了信息冗余,提高了軟件的可重用性和可擴(kuò)充性
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 書店閱讀推廣活動(dòng)與城市文化品牌建設(shè)關(guān)系分析考核試卷
- 化學(xué)纖維產(chǎn)品售后服務(wù)優(yōu)化考核試卷
- 圓錐曲線第一定義與焦點(diǎn)三角形(解析版)
- 生產(chǎn)設(shè)備遠(yuǎn)程監(jiān)控與維護(hù)系統(tǒng)研究考核試卷
- 小升初數(shù)學(xué)暑假銜接專練:圖形與幾何(含解析)
- 新興市場(chǎng)供應(yīng)鏈風(fēng)險(xiǎn)考核試卷
- 養(yǎng)老護(hù)理員實(shí)操知識(shí)考試題庫
- 產(chǎn)品創(chuàng)新與研發(fā)流程規(guī)范
- 蘇教版小學(xué)五年級(jí)上數(shù)學(xué)口算題卡
- 翻越您的浪浪山新學(xué)期開學(xué)第一課+課件
- 六個(gè)盒子組織診斷工具理解與實(shí)踐課件
- 房產(chǎn)租賃合同文本與房產(chǎn)租賃合同模板
- 全玻幕墻的設(shè)計(jì)與計(jì)算
- 國際貿(mào)易技能大賽題庫
- 重慶市沙坪壩區(qū)人民醫(yī)院消防安全整改工程施工方案
- von frey絲K值表完整版
- 出納日記賬模板
- GB/T 8183-2007鈮及鈮合金無縫管
- GB/T 8017-2012石油產(chǎn)品蒸氣壓的測(cè)定雷德法
- GB/T 3049-2006工業(yè)用化工產(chǎn)品鐵含量測(cè)定的通用方法1,10-菲啰啉分光光度法
- 基于PLC的十字路口交通燈控制系統(tǒng)設(shè)計(jì)與調(diào)試課件概要
評(píng)論
0/150
提交評(píng)論