一章程序設計基礎ppt課件_第1頁
一章程序設計基礎ppt課件_第2頁
一章程序設計基礎ppt課件_第3頁
一章程序設計基礎ppt課件_第4頁
一章程序設計基礎ppt課件_第5頁
已閱讀5頁,還剩36頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、第第2章章 程序設計根底程序設計根底知識類型:實際知識類型:實際學時:學時:2學時學時分值:約分值:約4分分2.1 程序設計方法與風格程序設計方法與風格l方法:方法:l面向過程的構造化程序設計方法面向過程的構造化程序設計方法l面向對象的程序設計方法面向對象的程序設計方法l風格:風格:l明晰第一、效率第二明晰第一、效率第二l源程序文檔化源程序文檔化l數聽闡明的方法數聽闡明的方法l語句的構造語句的構造l輸入和輸出方法輸入和輸出方法2.2 構造化程序設計構造化程序設計l程序的目的:用于數學計算程序的目的:用于數學計算l主要任務:設計求解問題的過程主要任務:設計求解問題的過程2.2 構造化程序設計構造

2、化程序設計l設計原那么設計原那么l自頂向下、逐漸求精。采用模塊分解與功能籠統。自頂向下、逐漸求精。采用模塊分解與功能籠統。l 分而治之。分而治之。l程序構造:程序構造:l按功能劃分為假設干個根本模塊,構成一個樹狀構按功能劃分為假設干個根本模塊,構成一個樹狀構造。造。l各模塊間的關系盡能夠簡單,功能上相對獨立;每各模塊間的關系盡能夠簡單,功能上相對獨立;每一模塊內部均是由順序、選擇和循環三種根本構造一模塊內部均是由順序、選擇和循環三種根本構造組成。組成。l其模塊化實現的詳細方法是運用子程序函數。其模塊化實現的詳細方法是運用子程序函數。l優點:優點:l有效地將一個較復雜的程序系統設計義務分解有效地

3、將一個較復雜的程序系統設計義務分解成許多易于控制和處置的子義務,便于開發和成許多易于控制和處置的子義務,便于開發和維護。維護。2.2 構造化程序設計構造化程序設計l缺陷:缺陷:l 可重用性差、數據平安性差、難以開發可重用性差、數據平安性差、難以開發大型軟件和圖形界面的運用軟件大型軟件和圖形界面的運用軟件l把數據和處置數據的過程分別為相互獨立的實體。把數據和處置數據的過程分別為相互獨立的實體。l當數據構造改動時,一切相關的處置過程都要進當數據構造改動時,一切相關的處置過程都要進展相應的修正。展相應的修正。l每一種相對于老問題的新方法都要帶來額外的開每一種相對于老問題的新方法都要帶來額外的開銷。銷

4、。l圖形用戶界面的運用程序,很難用過程來描畫和圖形用戶界面的運用程序,很難用過程來描畫和實現,開發和維護也都很困難。實現,開發和維護也都很困難。2.2 構造化程序設計構造化程序設計l與人類習慣的思想方法一致與人類習慣的思想方法一致l穩定性好穩定性好l可重用性好可重用性好l易于開發大型軟件產品易于開發大型軟件產品l可維護性好可維護性好2.3 面向對象的程序設計面向對象的程序設計2.3.1 面向對象方法的特點面向對象方法的特點l將數據及對數據的操作方法封裝在一同,作為一將數據及對數據的操作方法封裝在一同,作為一個相互依存、不可分別的整體個相互依存、不可分別的整體對象。對象。l對同類型對象籠統出其共

5、性,構成類。對同類型對象籠統出其共性,構成類。l類經過一個簡單的外部接口,與外界發生關系。類經過一個簡單的外部接口,與外界發生關系。l對象與對象之間經過音訊進展通訊。對象與對象之間經過音訊進展通訊。2.3 面向對象的程序設計面向對象的程序設計2.3.1 面向對象方法的特點面向對象方法的特點1. 對象對象object)2.3 面向對象的程序設計面向對象的程序設計2.3.2 面向對象方法的根本概念面向對象方法的根本概念l是系統中用來描畫客觀事物的一個實體,它是是系統中用來描畫客觀事物的一個實體,它是用來構成系統的一個根本單位。對象由一組屬用來構成系統的一個根本單位。對象由一組屬性和一組行為構成。性

6、和一組行為構成。l屬性:用來描畫對象靜態特征的數據項。屬性:用來描畫對象靜態特征的數據項。l行為:用來描畫對象動態特征的操作序列。行為:用來描畫對象動態特征的操作序列。有一個人名字叫胡哥,性別男,身高有一個人名字叫胡哥,性別男,身高1.80m,體重,體重68kg,可以修電器,可以教計算機課,描畫該對象,可以修電器,可以教計算機課,描畫該對象如下:如下:對象的靜態特征:對象的靜態特征:性別:男性別:男身高:身高:1.80m體重:體重:68kg對象的動態特征:對象的動態特征:回答身高回答身高回答體重回答體重回答性別回答性別修繕電器修繕電器教計算機課教計算機課1. 對象對象object)2.3 面向

7、對象的程序設計面向對象的程序設計2.3.2 面向對象方法的根本概念面向對象方法的根本概念l對象的根本特點對象的根本特點l標識獨一性標識獨一性l分類性分類性l多態性多態性l封裝性封裝性1. 對象對象object)2.3 面向對象的程序設計面向對象的程序設計2.3.2 面向對象方法的根本概念面向對象方法的根本概念l對象的定義對象的定義l全局對象、部分對象、靜態對象、堆對象全局對象、部分對象、靜態對象、堆對象class Desk public: int weight; int height; int width; int lenth;Desk a;main() Desk b; 全局全局對象對象部分部

8、分對象對象2. 類類(Class)和實例和實例(Instance)2.3 面向對象的程序設計面向對象的程序設計2.3.2 面向對象方法的根本概念面向對象方法的根本概念(1)從構造到類從構造到類(2)什么是類什么是類l具有一樣屬性和行為的一組對象的集合具有一樣屬性和行為的一組對象的集合l一個屬于某類的對象稱為該類的一個實例。一個屬于某類的對象稱為該類的一個實例。鐘表類的定義鐘表類的定義l屬性:屬性:lint Hour, int Minute, int Secondl行為:行為:lSetTime(), ShowTime()class Clock public: void SetTime(int N

9、ewH, int NewM, int NewS); void ShowTime(); private: int Hour,Minute,Second;class Clock public: void SetTime(int NewH, int NewM, int NewS); void ShowTime(); private: int Hour, Minute, Second;成員數據成員數據成員函數成員函數void Clock : SetTime(int NewH, int NewM, int NewS) Hour=NewH; Minute=NewM; Second=NewS;void Cl

10、ock : ShowTime() printf(“%d:%d:%d,Hour,Minute,Second);19#includeclass Clock ./類的聲明略類的聲明略/.類的實現略類的實現略int main() Clock myClock; myClock.SetTime(8,30,30); myClock.ShowTime();3. 音訊音訊(message)2.3 面向對象的程序設計面向對象的程序設計2.3.2 面向對象方法的根本概念面向對象方法的根本概念l音訊是系統向對象發出的效力懇求,是對象之音訊是系統向對象發出的效力懇求,是對象之間的通訊機制。提供效力的對象擔任音訊協議間的

11、通訊機制。提供效力的對象擔任音訊協議的格式和音訊的接納,懇求效力的對象提供輸的格式和音訊的接納,懇求效力的對象提供輸入信息,獲取應對音訊內容。入信息,獲取應對音訊內容。l在面向對象中,音訊經常經過函數調用來實現。在面向對象中,音訊經常經過函數調用來實現。 形狀:胡哥形狀:胡哥 29歲歲 男男 計算機計算機 講師講師 680實例:實例:行為:評職稱行為:評職稱 漲工資漲工資籠統籠統屬性:姓名屬性:姓名 年齡年齡 性別性別 單位單位 職稱職稱 工資工資類:講師類:講師操作:評職稱操作:評職稱 漲工資漲工資數據數據構造構造方法名方法名方法:評職稱方法:評職稱 步驟步驟 條件條件 漲工資漲工資 公式公

12、式方法體方法體class 講師講師 胡哥胡哥; 胡哥胡哥.評職稱評職稱.; 胡哥胡哥.調工資調工資.;音訊音訊4. 承繼承繼(inheritance)2.3 面向對象的程序設計面向對象的程序設計2.3.2 面向對象方法的根本概念面向對象方法的根本概念l承繼對于軟件復用有著重要意義,是面向對象技承繼對于軟件復用有著重要意義,是面向對象技術可以提高軟件開發效率的重要緣由之一。術可以提高軟件開發效率的重要緣由之一。l定義:特殊類的對象擁有其普通類的全部屬性與定義:特殊類的對象擁有其普通類的全部屬性與效力,稱作特殊類對普通類的承繼。效力,稱作特殊類對普通類的承繼。l例如:將輪船作為一個普通類,客輪便是

13、一個特例如:將輪船作為一個普通類,客輪便是一個特殊類。殊類。l堅持已有類的特性而構造新類的過程稱為承堅持已有類的特性而構造新類的過程稱為承繼。繼。l在已有類的根底上新增本人的特性而產生新在已有類的根底上新增本人的特性而產生新類的過程稱為派生。類的過程稱為派生。l被承繼的已有類稱為基類或父類。被承繼的已有類稱為基類或父類。l派生出的新類稱為派生類。派生出的新類稱為派生類。4. 承繼承繼(inheritance)2.3 面向對象的程序設計面向對象的程序設計2.3.2 面向對象方法的根本概念面向對象方法的根本概念l承繼的目的:實現代碼重用承繼的目的:實現代碼重用l派生的目的:當新的問題出現,原有程序

14、無法派生的目的:當新的問題出現,原有程序無法處理或不能完全處理時,需求對原有程序處理或不能完全處理時,需求對原有程序進展改造。進展改造。4. 承繼承繼(inheritance)2.3 面向對象的程序設計面向對象的程序設計2.3.2 面向對象方法的根本概念面向對象方法的根本概念承繼與派生問題舉例承繼與派生問題舉例工具車轎車面包車小汽車卡車旅行車汽車汽車交通工具交通工具承繼與派生問題舉例承繼與派生問題舉例猴猴 子子獅 子虎獵 豹貓貓鳥鳥動動 物物承繼與派生問題舉例承繼與派生問題舉例圓圓矩矩形形幾幾何何 形形 狀狀承繼與派生問題舉例承繼與派生問題舉例兼職技術人員銷售經理管理人員銷售人員雇員多承繼、單

15、承繼多承繼、單承繼5. 多態性多態性(polymorphism)2.3 面向對象的程序設計面向對象的程序設計2.3.2 面向對象方法的根本概念面向對象方法的根本概念l多態是指在普通類中定義的屬性或行為,被特多態是指在普通類中定義的屬性或行為,被特殊類承繼之后,可以具有不同的數據類型或表殊類承繼之后,可以具有不同的數據類型或表現出不同的行為。這使得同一個屬性或行為在現出不同的行為。這使得同一個屬性或行為在普通類及其各個特殊類中具有不同的語義。普通類及其各個特殊類中具有不同的語義。l例如:例如:l多態:同一稱號,不同的功能實現方式。多態:同一稱號,不同的功能實現方式。l目的:到達行為標識一致,減少

16、程序中標目的:到達行為標識一致,減少程序中標識符的個數。識符的個數。l實現:重載函數和虛函數實現:重載函數和虛函數5. 多態性多態性(polymorphism)2.3 面向對象的程序設計面向對象的程序設計2.3.2 面向對象方法的根本概念面向對象方法的根本概念總結總結l面向對象程序設計英語:面向對象程序設計英語:Object Oriented Programming,縮寫:,縮寫:OOP,指一種程序,指一種程序設計范型,同時也是一種程序開發的方法論。設計范型,同時也是一種程序開發的方法論。它將對象作為程序的根本單元,將程序和數據它將對象作為程序的根本單元,將程序和數據封裝其中,以提高軟件的重用

17、性、靈敏性和擴封裝其中,以提高軟件的重用性、靈敏性和擴展性。展性。 類l類類Class定義了一件事物的籠統特點。通定義了一件事物的籠統特點。通常來說,類定義了事物的屬性和它可以做到的常來說,類定義了事物的屬性和它可以做到的它的行為。它的行為。l類可以為程序提供模版和構造。類可以為程序提供模版和構造。l一個類的方法和屬性被稱為一個類的方法和屬性被稱為“成員。成員。類狗 私有成員: 體重 毛皮顏色 . 公有成員: 吠叫() . 對象l對象對象Object是類的實例。是類的實例。l l 類狗類狗 萊絲;萊絲;l 萊絲萊絲.毛皮顏色毛皮顏色=棕白色棕白色 l 萊絲萊絲.吠叫吠叫();l 我們無法讓狗這

18、個類去吠叫,但是我們我們無法讓狗這個類去吠叫,但是我們可以讓對象可以讓對象萊絲萊絲去吠叫,正如狗可以去吠叫,正如狗可以吠叫,但沒有詳細的狗就無法吠叫。吠叫,但沒有詳細的狗就無法吠叫。方法(行為)l方法方法Method是一個類能做的事情,但方法并沒是一個類能做的事情,但方法并沒有去做這件事。有去做這件事。l作為一條狗,萊絲是會吠叫的,因此作為一條狗,萊絲是會吠叫的,因此“吠叫吠叫()就是它就是它的一個方法。與此同時,它能夠還會有其它方法,例的一個方法。與此同時,它能夠還會有其它方法,例如如“坐下坐下(),或者,或者“吃吃()。 對一個詳細對象的方法對一個詳細對象的方法進展調用并不影響其它對象,正

19、如一切的狗都會叫,進展調用并不影響其它對象,正如一切的狗都會叫,但是他讓一條狗叫不代表一切的狗都叫。但是他讓一條狗叫不代表一切的狗都叫。 l類狗類狗 萊絲,泰爾;萊絲,泰爾;l 萊絲萊絲.吠叫吠叫();l 那么泰爾是不會吠叫的,由于這里的吠叫只是對那么泰爾是不會吠叫的,由于這里的吠叫只是對對象對象萊絲萊絲進展的。進展的。封裝性l具備封裝性具備封裝性Encapsulation的面向對象程序設計隱藏了某的面向對象程序設計隱藏了某一方法的詳細執行步驟,取而代之的是經過音訊傳送機制傳送一方法的詳細執行步驟,取而代之的是經過音訊傳送機制傳送音訊給它。音訊給它。l/* 一個面向過程的程序會這樣寫:一個面向

20、過程的程序會這樣寫: */ 構造體狗構造體狗 萊絲萊絲 ;l 設置音調設置音調(萊絲,萊絲,5);l 吸氣吸氣(萊絲萊絲) ;l 吐氣吐氣(萊絲萊絲) ;l/* 當狗的吠叫被封裝到類中,任何人都可以簡單地運用:當狗的吠叫被封裝到類中,任何人都可以簡單地運用: */ l 類狗類狗 萊絲;萊絲;l 萊絲萊絲.吠叫吠叫() ;封裝是經過限制只需特定類的實例可以訪問這一特封裝是經過限制只需特定類的實例可以訪問這一特定類的成員,而它們通常利用接口實現音訊的傳入定類的成員,而它們通常利用接口實現音訊的傳入傳出。傳出。class MeiNu /美女類!美女類!. private: int XW; /胸圍胸圍

21、 int YW; /我就不說了噢我就不說了噢 :) int TW; /我還是不說了噢我還是不說了噢 :) ;MeiNu jordan; /now is 喬丹喬丹!jordan.XW = 34;jordan.YW = 24;jordan.TW = 34;承繼性與多態性承繼性與多態性l承繼性承繼性Inheritance是指,在某種情況下,是指,在某種情況下,一個類會有一個類會有“子類。子類。l多態性多態性Polymorphism指方法在不同的類指方法在不同的類中調用可以實現的不同結果。中調用可以實現的不同結果。類狗類狗 萊絲;萊絲;類雞類雞 魯斯特;魯斯特;萊絲萊絲.叫叫();魯斯特魯斯特.叫叫(

22、);雞啼雞啼犬吠犬吠練習題1. 下面描畫中,符合構造化程序設計風格的是下面描畫中,符合構造化程序設計風格的是_。 A. 運用順序、選擇和反復循環三種根本控制構造表示運用順序、選擇和反復循環三種根本控制構造表示程序的控制邏輯程序的控制邏輯B. 模塊只需一個入口,可以有多個出口模塊只需一個入口,可以有多個出口C. 注重提高程序的執行效率注重提高程序的執行效率D. 不運用不運用goto語句語句2. 下面概念中,不屬于面向對象方法的是下面概念中,不屬于面向對象方法的是_。A. 對象對象 B. 承繼承繼C. 類類 D. 過程調用過程調用3. 構造化程序設計主要強調的是構造化程序設計主要強調的是_。A.

23、程序的規模程序的規模 B. 程序的易讀性程序的易讀性C. 程序的執行效率程序的執行效率 D. 程序的可移植性程序的可移植性4. 對建立良好的程序設計風格,下面描畫正確的選項是對建立良好的程序設計風格,下面描畫正確的選項是_。A. 程序應簡單、明晰、可讀性好程序應簡單、明晰、可讀性好B. 符號名的命名要符合語法符號名的命名要符合語法C. 充分思索程序的執行效率充分思索程序的執行效率D. 程序的注釋可有可無程序的注釋可有可無5. 下面對對象概念描畫錯誤的選項是下面對對象概念描畫錯誤的選項是_。 A. 任何對象都必需有承繼性任何對象都必需有承繼性B. 對象是屬性和方法的封裝體對象是屬性和方法的封裝體

24、C. 對象間的通訊靠音訊傳送對象間的通訊靠音訊傳送D. 操作是對象的動態性屬性操作是對象的動態性屬性6. 算法普通都可以用哪幾種控制構造組合而成算法普通都可以用哪幾種控制構造組合而成_。 A. 循環、分支、遞歸循環、分支、遞歸B. 順序、循環、嵌套順序、循環、嵌套C. 循環、遞歸、選擇循環、遞歸、選擇D. 順序、選擇、循環順序、選擇、循環7. 在面向對象方法中,一個對象懇求另一對象為其效力的方在面向對象方法中,一個對象懇求另一對象為其效力的方式是經過發送式是經過發送_。 A. 調用語句調用語句 B. 命令命令 C. 口令口令 D. 音訊音訊8. 在設計程序時,應采用的原那么之一是在設計程序時,

25、應采用的原那么之一是_。 A. 程序構造應有助于讀者了解程序構造應有助于讀者了解B. 不限制不限制goto語句的運用語句的運用C. 減少或取消注解行減少或取消注解行D. 程序越短越好程序越短越好9. 面向對象的設計方法與傳統的的面向過程的方法有本質不同,面向對象的設計方法與傳統的的面向過程的方法有本質不同,它的根本原理是它的根本原理是_。 A. 模擬現實世界中不同事物之間的聯絡模擬現實世界中不同事物之間的聯絡B. 強調模擬現實世界中的算法而不強調概念強調模擬現實世界中的算法而不強調概念C. 運用現實世界的概念籠統地思索問題從而自然地處理問題運用現實世界的概念籠統地思索問題從而自然地處理問題D.

26、 鼓勵開發者在軟件開發的絕大部分中都用實踐領域的概念鼓勵開發者在軟件開發的絕大部分中都用實踐領域的概念去思索去思索10采用面向對象技術開發的運用系統的特點是采用面向對象技術開發的運用系統的特點是_。 A 重用性更強重用性更強 B 運轉速度更快運轉速度更快 C 占用存儲量小占用存儲量小 D 維護更復雜維護更復雜1構造化程序設計的三種根本邏輯構造為順序、選擇和 2在面向對象方法中,信息隱蔽是經過對象的 性來實現的.3類是一個支持集成的籠統數據類型,而對象是類的 4在面向對象方法中,類之間共享屬性和操作的機制稱為 。5. 面向對象的程序設計方法中涉及的對象是系統中用來描畫客觀事物的一個 。6. 一個類可以從直接或間接的祖先中承繼一切屬性和方法。采用這個方法提高了軟件的 7. 面向對象的模型中,最根本的概念是對象和 。8.構造化程序設計是一種面向( )的設計方法.9. 對象的根本特點包括標識獨一性、分類性、對象的根本特點包括

溫馨提示

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

評論

0/150

提交評論