




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、2.程序設(shè)計(jì)基礎(chǔ),章節(jié)內(nèi)容,程序設(shè)計(jì)方法與風(fēng)格 結(jié)構(gòu)化程序設(shè)計(jì) 面向?qū)ο蟮某绦蛟O(shè)計(jì)方法,對象、方法、屬性、繼承與多態(tài)性。,2.1程序設(shè)計(jì)方法與風(fēng)格,學(xué)習(xí)重點(diǎn):程序設(shè)計(jì)的方法與風(fēng)格,要求熟記各個(gè)概念 1.程序設(shè)計(jì)經(jīng)歷了結(jié)構(gòu)化程序設(shè)計(jì)和面向?qū)ο蟪绦蛟O(shè)計(jì)。 2.程序設(shè)計(jì)的風(fēng)格 清晰第一、效率第二當(dāng)今主導(dǎo)的設(shè)計(jì)風(fēng)格,1.結(jié)構(gòu)化設(shè)計(jì)方法 模塊內(nèi)部程序各部分要按照自頂向下的結(jié)構(gòu)劃分 各程序部分應(yīng)按功能組合 各程序之間的聯(lián)系盡量通過調(diào)用子程序來實(shí)現(xiàn),不用或少用GOTO方式 2.面向?qū)ο蟪绦蛟O(shè)計(jì)(OOP),2.1.1 程序設(shè)計(jì)方法,2.1.2 程序設(shè)計(jì)風(fēng)格 1. 源程序文檔化 符號(hào)命名要便于對程序功能的理解
2、注釋(要有利于幫助讀者理解程序) 程序的視覺組織(要一目了然,層次、條例清晰) 2. 數(shù)據(jù)說明 數(shù)據(jù)說明的次序應(yīng)該規(guī)范化 便于查找變量(按順序排列) 對復(fù)雜數(shù)據(jù)結(jié)構(gòu)應(yīng)注釋說明 PS:顯式地說明一切變量,3. 語句的結(jié)構(gòu) 每條語句簡單明了 盡量不用或少用GOTO語句 盡量只采用3種基本控制結(jié)構(gòu)編程 4. 輸入和輸出 對所有輸入數(shù)據(jù)進(jìn)行校驗(yàn)和合理性檢查 輸入輸出格式保持一致 設(shè)計(jì)良好的輸出報(bào)表,程序設(shè)計(jì)語言 基本概念 低級(jí)語言和高級(jí)語言 編譯程序和解釋程序 程序設(shè)計(jì)語言的定義 種類和特點(diǎn) 程序語言的發(fā)展 程序設(shè)計(jì)范型 命令式、面向?qū)ο?、函?shù)式、邏輯型,基本成分 數(shù)據(jù)成分 運(yùn)算成分 控制成分 傳輸成
3、分,2.2 結(jié)構(gòu)化程序設(shè)計(jì),2.2.1 基本概念 基本思想 對大型的程序設(shè)計(jì),使用一些基本的結(jié)構(gòu)來設(shè)計(jì)程序,無論多復(fù)雜的程序,都可以使用這些基本結(jié)構(gòu)按一定的順序組合起來。這些基本結(jié)構(gòu)的特點(diǎn)都是只有一個(gè)入口、一個(gè)出口。由這些基本結(jié)構(gòu)組成的程序就避免了任意轉(zhuǎn)移、閱讀起來需要來回尋找的問題。,三種基本結(jié)構(gòu) 順序結(jié)構(gòu) 選擇結(jié)構(gòu) 循環(huán)結(jié)構(gòu),順序結(jié)構(gòu),選擇結(jié)構(gòu),重復(fù)結(jié)構(gòu),三種基本結(jié)構(gòu)的特點(diǎn) 只有一個(gè)入口 只有一個(gè)出口 每一個(gè)基本結(jié)構(gòu)中的每一部分都有機(jī)會(huì)執(zhí)行到 結(jié)構(gòu)內(nèi)不存在“死循環(huán)”,2.2.2 設(shè)計(jì)原則 自頂向下 逐步求精 模塊化 限制使用goto語句,結(jié)構(gòu)化程序設(shè)計(jì)方法 要求把程序的結(jié)構(gòu)規(guī)定為順序、選擇
4、和循環(huán)三種基本機(jī)構(gòu),并提出了自頂向下、逐步求精、模塊化程序設(shè)計(jì)等原則。 結(jié)構(gòu)化程序設(shè)計(jì)是把模塊分割方法作為對大型系統(tǒng)進(jìn)行分析的手段,使其最終轉(zhuǎn)化為三種基本結(jié)構(gòu),其目的是為了解決由許多人共同開發(fā)大型軟件時(shí),如何高效率地完成可靠系統(tǒng)的問題。 程序的可讀性好、可維護(hù)性好成為評(píng)價(jià)程序質(zhì)量的首要條件。 缺點(diǎn):程序和數(shù)據(jù)結(jié)構(gòu)松散地耦合在一起。解決此問題的方法就是采用面向?qū)ο蟮某绦蛟O(shè)計(jì)方法(OOP)。,試題 (4) 下面描述中,符合結(jié)構(gòu)化程序設(shè)計(jì)風(fēng)格的是_。 A. 使用順序、選擇和重復(fù)(循環(huán))三種基本控制結(jié)構(gòu)表示程序的控制邏輯。 B. 模塊只有一個(gè)入口,可以有多個(gè)出口 C. 注重提高程序的執(zhí)行效率 D. 不
5、使用goto語句,(1)只有一個(gè)入口; (2)只有一個(gè)出口。但不要將基本結(jié)構(gòu)的出口與分支結(jié)構(gòu)的選擇出口混淆,分支結(jié)構(gòu)的選擇出口有兩個(gè)或多個(gè),可整個(gè)結(jié)構(gòu)最終只有一個(gè)出口。 (3)結(jié)構(gòu)內(nèi)的每一部分都有機(jī)會(huì)被執(zhí)行到,也就是說,對每一部分結(jié)構(gòu)來說,都應(yīng)該有一條從入口到出口的路徑通過。 (4)結(jié)構(gòu)內(nèi)沒有死循環(huán),(清晰第一、效率第二),(限制使用,注重如何使用),A,下列敘述中,不符合良好程序設(shè)計(jì)風(fēng)格的是()【2007年9月 選擇題第4題】A)程序的效率第一,清晰第二 B)程序的可讀性好C)程序中有必要的注釋 D)輸入數(shù)據(jù)前要有提示信息,對建立良好的程序設(shè)計(jì)風(fēng)格,下面描述正確的是() A)程序應(yīng)簡單、清晰
6、、可讀性好 B)符號(hào)名的命名只要符合語法 C)充分考慮程序的執(zhí)行效率 D)程序的注釋可由可無 答案:A 源程序文檔化要求程序應(yīng)加注釋。注釋一般分為序言性注釋和_ 答案:功能性注釋,2.3 面向?qū)ο蟮某绦蛟O(shè)計(jì)方法,2.3.1 關(guān)于面向?qū)ο蠓椒?對系統(tǒng)的復(fù)雜性進(jìn)行概括、抽象和分類,使軟件的設(shè)計(jì)與現(xiàn)實(shí)形成一個(gè)由抽象到具體、由簡單到復(fù)雜這樣一個(gè)循序漸進(jìn)的過程,從而解決大型軟件研制中存在的效率低、質(zhì)量難以保證、調(diào)試復(fù)雜、維護(hù)困難等問題。 結(jié)構(gòu)化的分解突出過程,即如何做(How to do)?它強(qiáng)調(diào)代碼的功能是如何實(shí)現(xiàn)的;面向?qū)ο蟮姆纸馔怀霈F(xiàn)實(shí)世界和抽象的對象,即做什么(What to do)?,主要優(yōu)點(diǎn)
7、 與人類習(xí)慣的思維方法一致 穩(wěn)定性好 可重用性好 易于開發(fā)大型軟件產(chǎn)品 可維護(hù)性好,2.3.2 基本概念 對象(Object) 對象是基本的運(yùn)行時(shí)認(rèn)得實(shí)體,它既包括數(shù)據(jù)(屬性),也包括作用于數(shù)據(jù)的操作(行為)。 一個(gè)對象把屬性和行為封裝為一個(gè)整體 一個(gè)對象通??捎蓪ο竺傩院筒僮?部分組成,對象的基本特點(diǎn):標(biāo)識(shí)惟一性,分類性,多態(tài)性,封裝性,模塊獨(dú)立性好。 (1)標(biāo)識(shí)惟一性。指對象是可區(qū)分的,并且由對象的內(nèi)在本質(zhì)來區(qū)分,而不是通過描述來區(qū)分。 (2)分類性。指可以將具有相同屬性的操作的對象抽象成類。 (3)多態(tài)性。指同一個(gè)操作可以是不同對象的行為。,(4)封裝性。從外面看只能看到對象的外部特
8、性,即只需知道數(shù)據(jù)的取值范圍和可以對該數(shù)據(jù)施加的操作,根本無需知道數(shù)據(jù)的具體結(jié)構(gòu)以及實(shí)現(xiàn)操作的算法。對象的內(nèi)部,即處理能力的實(shí)行和內(nèi)部狀態(tài),對外是不可見的。從外面不能直接使用對象的處理能力,也不能直接修改其內(nèi)部狀態(tài),對象的內(nèi)部狀態(tài)只能由其自身改變。 信息隱蔽是通過對象的封裝性來實(shí)現(xiàn)的。 (5)模塊獨(dú)立性好。對象是面向?qū)ο蟮能浖幕灸K,它是由數(shù)據(jù)及可以對這些數(shù)據(jù)施加的操作所組成的統(tǒng)一體,而且對象是以數(shù)據(jù)為中心的,操作圍繞對其數(shù)據(jù)所需做的處理來設(shè)置,沒有無關(guān)的操作。從模塊的獨(dú)立性考慮,對象內(nèi)部各種元素彼此結(jié)合得很緊密,內(nèi)聚性強(qiáng)。 信息隱蔽概念與模塊獨(dú)立性的概念直接相關(guān),面向?qū)ο?Object
9、Oriented, OO) 從該問題所涉及的對象入手來研究問題。 消息(Message) 對象之間進(jìn)行通信的一種構(gòu)造 類(Class) 一個(gè)類定義了一組大體上相似的對象。 一個(gè)類所包含的方法和數(shù)據(jù)描述一組對象的共同行為和屬性。 類是在對象之上的抽象,對象是類的具體化,是類的實(shí)例 封裝(Encapsulation) 將數(shù)據(jù)和操作數(shù)據(jù)的函數(shù)銜接在一起,構(gòu)成一個(gè)具有類類型的對象的描述。 對象的內(nèi)部實(shí)現(xiàn)受保護(hù),外界不能訪問 封裝簡化了程序員對對象的使用,繼承(Inheritance) 繼承是父類和子類之間共享數(shù)據(jù)的方法的機(jī)制 一個(gè)子類可以繼承它的父類(或祖先類)中的屬性和操作 子類中可以定義自己的屬性
10、和操作 單重繼承、多重繼承 多態(tài)性(Polymorphism) 不同的對象收到同一消息可以產(chǎn)生完全不同的結(jié)構(gòu),這一現(xiàn)象叫做多態(tài)性 多態(tài)的實(shí)現(xiàn)受到繼承的支持,歷年真題,1在面向?qū)ο蠓椒ㄖ校粚儆凇皩ο蟆被咎攸c(diǎn)的是( )?!?008年9月 選擇題第7題】 A)一致性 B)分類性 C)多態(tài)性 D)標(biāo)識(shí)唯一性 答案:A 2在面向?qū)ο蠓椒ㄖ校瑢?shí)現(xiàn)信息隱蔽是依靠( )【2007年9月 選擇題第3題】A)對象的繼承 B)對象的多態(tài)C)對象的封裝 D)對象的分類 答案:C,練習(xí)題 1對象實(shí)現(xiàn)了數(shù)據(jù)和操作的結(jié)合,是指對數(shù)據(jù)和數(shù)據(jù)的操作進(jìn)行 A) 結(jié)合 B) 隱藏 C) 封裝 D) 抽象 答案:C 2。在面向?qū)?/p>
11、象的方法中,一個(gè)對象請求另一個(gè)對象為其服務(wù)的方式是通過發(fā)送() A)調(diào)用語句 (針對函數(shù)的) B)命令 C)口令 D)消息 答案:D 3信息的隱蔽的概念與下述哪種概念直接關(guān)系() A)軟件結(jié)構(gòu)的定義 B) 模塊獨(dú)立性 C)模塊類型劃分 D)模塊耦合度 答案:B,4下面對對象概念描述錯(cuò)誤的是() A)任何對象都必須有繼承性 B)對象是屬性和方法的封裝 C)對象間的通信靠消息傳遞 D)操作是對象的動(dòng)態(tài)屬性 答案:A 5類是一個(gè)支持集成的抽象數(shù)據(jù)類型,而對象是類的_ 答案:實(shí)例 6在面向?qū)ο蠓椒ㄖ?,信息隱蔽是通過對象的_來實(shí)現(xiàn)的 答案:封裝 7在面向?qū)ο蠓椒ㄖ校愔g的共享屬性和操作的機(jī)制稱為_ 答
12、案:繼承,例題講解,結(jié)構(gòu)化程序設(shè)計(jì)的3種結(jié)構(gòu)是 A) 順序結(jié)構(gòu)、選擇結(jié)構(gòu)、轉(zhuǎn)移結(jié)構(gòu) B) 分支結(jié)構(gòu)、等價(jià)結(jié)構(gòu)、循環(huán)結(jié)構(gòu) C) 多分支結(jié)構(gòu)、賦值結(jié)構(gòu)、等價(jià)結(jié)構(gòu) D) 順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu) 在設(shè)計(jì)程序時(shí),應(yīng)采納的原則之一是 A) 不限制goto語句的使用 B) 減少或取消注解行 C) 程序越短越好D) 程序結(jié)構(gòu)應(yīng)有助于讀者理解 程序設(shè)計(jì)語言的基本成分是數(shù)據(jù)成分、運(yùn)算成分、控制成分和 A) 對象成分B) 變量成分 C) 語句成分D) 傳輸成分,結(jié)構(gòu)化程序設(shè)計(jì)主要強(qiáng)調(diào)的是 A) 程序的規(guī)模B) 程序的效率 C) 程序設(shè)計(jì)語言的先進(jìn)性 D) 程序易讀性 以下不屬于對象的基本特點(diǎn)的是 A) 分類性
13、 B) 多態(tài)性 C) 繼承性D) 封裝性 對建立良好的程序設(shè)計(jì)風(fēng)格,下面描述正確的是 A) 程序應(yīng)簡單、清晰、可讀性好 B) 符號(hào)名的命名只要符合語法 C) 充分考慮程序的執(zhí)行效率 D) 程序的注釋可有可無 在結(jié)構(gòu)化程序設(shè)計(jì)思想提出之前,在程序設(shè)計(jì)中曾強(qiáng)調(diào)程序的效率,現(xiàn)在,與程序的效率相比,人們更重視程序的 A) 安全性B) 一致性 C) 可理解性D) 合理性,程序的3種基本控制結(jié)構(gòu)是 A) 過程、子過程和分程序B) 順序、選擇和重復(fù) C) 遞歸、堆棧和隊(duì)列 D) 調(diào)用、返回和轉(zhuǎn)移 下列敘述中,不屬于結(jié)構(gòu)化程序設(shè)計(jì)方法的主要原則的是 A) 自頂向下 B) 由底向上 C) 模塊化D) 限制使用g
14、oto語句 對象實(shí)現(xiàn)了數(shù)據(jù)和操作的結(jié)合,是指對數(shù)據(jù)和數(shù)據(jù)的操作進(jìn)行 A) 結(jié)合 B) 隱藏 C) 封裝 D) 抽象,在面向?qū)ο蠓椒ㄖ?,一個(gè)對象請求另一個(gè)對象為其服務(wù)的方式是通過發(fā)送 A)調(diào)用語句 B)命令 C)口令 D)消息 信息屏蔽的概念與下述哪一種概念直接相關(guān) A)軟件結(jié)構(gòu)定義 B)模塊獨(dú)立性 C)模塊類型劃分 D)模塊偶合度 下列對象概念描述錯(cuò)誤的是 A)任何對象都必須有繼承性 B)對象是屬性和方法的封裝體 C)對象間的通訊靠消息傳遞 D)操作是對象的動(dòng)態(tài)屬性,下列敘述中,不屬于結(jié)構(gòu)化分析方法的是 A) 面向數(shù)據(jù)流的結(jié)構(gòu)化分析方法 B) 面向數(shù)據(jù)結(jié)構(gòu)的Jackson方法 C) 面向數(shù)據(jù)結(jié)構(gòu)的結(jié)構(gòu)化數(shù)據(jù)系統(tǒng)開發(fā)方法 D) 面向?qū)ο蟮姆治龇椒?在面向?qū)ο蟮某绦蛟O(shè)計(jì)中,類描述的是具有相似性質(zhì)的一組 【3】 在面向?qū)ο蠓椒ㄖ?,類之間共享屬性和操作的機(jī)制稱為 【2】 。 一個(gè)類可以從直接或間接的祖先中繼承所有屬性和方法。采用這個(gè)方法提高了軟件的 【3】 。,對象,繼承,可重用性,面向?qū)ο蟮哪P椭校罨镜母拍钍菍ο蠛?【1】 。 類是一個(gè)支持集成的抽象數(shù)據(jù)類型,而對象是類的 【2】 。 在面向?qū)ο蟮脑O(shè)計(jì)中,用來請求對象執(zhí)行某一處理或回答某些信息的要求稱為 【3】 。 在程序設(shè)計(jì)階段應(yīng)該采取 【4】 和逐步求精
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 咖啡館場地租賃合同
- 建筑單價(jià)施工合同
- 亮化工程合同協(xié)議書
- 北京租房居間合同
- 會(huì)議接待流程優(yōu)化方案
- 室外地磚施工方案
- 老路破除修補(bǔ)施工方案
- 別墅屋頂防水施工方案
- 浮吊桁架吊裝施工方案
- 堤壩加固施工方案
- 李博《生態(tài)學(xué)》課后習(xí)題答案
- 生化檢驗(yàn)質(zhì)控及失控分析
- 永磁同步電機(jī)地設(shè)計(jì)與電磁分析報(bào)告
- 全國各大媒體的報(bào)料熱線電話號(hào)碼
- 催化材料智慧樹知到答案章節(jié)測試2023年南開大學(xué)
- 我是小小志愿者小學(xué)主題班會(huì)PPT
- 中國故事英文版哪吒英文二篇
- LY/T 2083-2013全國營造林綜合核查技術(shù)規(guī)程
- GB/T 27606-2020GNSS接收機(jī)數(shù)據(jù)自主交換格式
- 2022年廊坊市財(cái)信投資集團(tuán)有限公司招聘筆試試題及答案解析
- 創(chuàng)傷的現(xiàn)場檢傷分類法傷情程度的快速評(píng)估方法課件
評(píng)論
0/150
提交評(píng)論