




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、第四章 類與對象主講人:楊紅菊主講人:楊紅菊山西大學計算機信息技術(shù)學院本章目的l掌握面向?qū)ο蟮幕靖拍?;l掌握類與對象的定義與使用;l正確使用構(gòu)造函數(shù)、析構(gòu)函數(shù)以及類成員函數(shù)與數(shù)據(jù)成員主要內(nèi)容1 類的概念類的概念2 類的定義類的定義3 類成員的訪問控制類成員的訪問控制4 類的成員函數(shù)類的成員函數(shù)5 對象對象對比面向過程與面向?qū)ο蟮某绦蛟O(shè)計方法的不同。對比面向過程與面向?qū)ο蟮某绦蛟O(shè)計方法的不同。描述圓描述圓Circle。面向過程的方法:面向過程的方法:函數(shù)函數(shù)1:求圓的面積:求圓的面積函數(shù)函數(shù)2:求圓的周長:求圓的周長其它函數(shù)其它函數(shù)主函數(shù):主函數(shù): 定義圓的半徑;定義圓的半徑; 輸入圓的半徑;
2、輸入圓的半徑; 調(diào)用求面積函數(shù);調(diào)用求面積函數(shù); 調(diào)用求周長函數(shù);調(diào)用求周長函數(shù); 輸出輸出 面向?qū)ο蟮姆椒ǎ好嫦驅(qū)ο蟮姆椒ǎ侯愵怌ircle私有數(shù)據(jù)成員:私有數(shù)據(jù)成員: 圓的半徑圓的半徑 公有成員函數(shù):公有成員函數(shù): 求圓的面積求圓的面積 求圓的周長求圓的周長 顯示圓的半徑顯示圓的半徑 設(shè)定圓的半徑設(shè)定圓的半徑;主函數(shù)主函數(shù) 定義類的對象;定義類的對象; 通過對象調(diào)用相應(yīng)的公有成員函數(shù);通過對象調(diào)用相應(yīng)的公有成員函數(shù); l面向過程的結(jié)構(gòu)化程序設(shè)計中,程序的模塊程序的模塊由函數(shù)構(gòu)成的,每個函數(shù)用于完成特定的功由函數(shù)構(gòu)成的,每個函數(shù)用于完成特定的功能。數(shù)據(jù)與對數(shù)據(jù)的操作分離。能。數(shù)據(jù)與對數(shù)據(jù)的操
3、作分離。l面向?qū)ο蟮某绦蛟O(shè)計中,程序的模塊由類構(gòu)程序的模塊由類構(gòu)成,類是對邏輯上相關(guān)的函數(shù)與數(shù)據(jù)的封裝,成,類是對邏輯上相關(guān)的函數(shù)與數(shù)據(jù)的封裝,它是對問題的抽象描述。它是對問題的抽象描述。類的概念l所謂抽象是指對具體問題進行概括,抽出是指對具體問題進行概括,抽出一類對象的公共屬性并加以描述的過程。一類對象的公共屬性并加以描述的過程。抽象的過程,也就是對問題進行分析和認抽象的過程,也就是對問題進行分析和認知的過程。知的過程。l對一個問題的抽象包括兩個方面:數(shù)據(jù)抽象(描述某類對象的屬性或狀態(tài))行為抽象(描述的某類對象的共同行為或功能特征)例2:描述時鐘類時鐘類時鐘類 數(shù)據(jù)抽象:數(shù)據(jù)抽象: 時,分,
4、秒時,分,秒 行為抽象:行為抽象: 顯示時間顯示時間 設(shè)置時間設(shè)置時間例3:描述人類人類人類 數(shù)據(jù)抽象:數(shù)據(jù)抽象: 姓名,年齡,性別姓名,年齡,性別 行為抽象:行為抽象: 吃飯,走路,工作,學吃飯,走路,工作,學習習l了解了類的概念,那么如何定義一個類呢?2 類的定義l類的定義分為聲明部分(干什么)聲明部分(干什么)實現(xiàn)部分(怎么干)實現(xiàn)部分(怎么干)2 類的定義類的定義例4:時鐘類定義class Clock private: int Hour, Minute, Second; public: void SetTime(int NewH, int NewM, int NewS); void S
5、howTime();2 類的定義l注意:在類中可以只聲明函數(shù)的原型,函數(shù)的實現(xiàn)部分可以在類外定義。 void Clock:SetTime(int NewH, int NewM, int NewS) Hour=NewH; Minute=NewM; Second=NewS; void Clock:ShowTime() coutHour”:”Minute”:”Secondendl;2 類的定義class 類名稱 public: 外部接口 protected: 保護性成員 private: 私有成員;3 類成員的訪問控制類成員的訪問控制l通過設(shè)置成員的訪問控制屬性來實現(xiàn)類成員的訪問權(quán)限。l訪問控制屬性
6、包含以下三種:公有類型(public)保護類型(protected)私有類型(private)lpublic定義了類的外部接口。lprivate只能被本類的成員函數(shù)訪問,private成員一般在類外不直接進行操作,而是通過外部接口(公有函數(shù))來操作類中的數(shù)據(jù)成員。lprotected成員與private成員性質(zhì)相似,其差別在于繼承過程中對產(chǎn)生的新類的影響不同。注意:注意:l 如果private成員緊接著類的名稱,則關(guān)鍵字private可以省略。l 一般情況下,一個類的數(shù)據(jù)成員應(yīng)聲明為私有成員。l 書寫時通常習慣將公有類型放在最前面,這樣便于閱讀,因為它們是外部訪問時所需了解的。4 類的成員函數(shù)
7、類的成員函數(shù)l成員函數(shù)描述的是類的行為;l成員函數(shù)是程序算法的實現(xiàn)部分;l成員函數(shù)是對封裝的數(shù)據(jù)進行操作的方法。類的成員函數(shù)的實現(xiàn)l成員函數(shù)的實現(xiàn)分兩種:l類內(nèi)實現(xiàn)(內(nèi)聯(lián)成員函數(shù))l類外實現(xiàn)(作用域標識符:,指明所屬類)l成員函數(shù)在類外實現(xiàn)時分兩部分:類中的函數(shù)的原型聲明+類外的函數(shù)的具體實現(xiàn)。例5:時鐘類成員函數(shù)舉例說明class Clock private: int Hour, Minute, Second; public: void SetTime(int NewH, int NewM, int NewS); void ShowTime() coutHour”:”Minute”:”Sec
8、ondendl;/內(nèi)聯(lián)函數(shù)隱式聲明內(nèi)聯(lián)函數(shù)隱式聲明;void Clock:SetTime(int NewH, int NewM, int NewS) Hour=NewH; Minute=NewM; Second=NewS; 5 對象對象l類是抽象的,對象是具體的。類實際上就是創(chuàng)建對象的模板。l類與對象的關(guān)系如:人與某個人;桌子與某張桌子;形狀與圓;圓與某個圓;鐘表與某個鐘表;基本數(shù)據(jù)類型與簡單變量等等之間的關(guān)系。例6以類Circle為例圖1 類是對象模板類作為模板類作為模板Circle類的三個對象類的三個對象對象的聲明l對象的聲明:對象的聲明: 類名類名 對象名;對象名;例如 Clock my
9、Clock; Circle a; 人 張三;對象操作l如何訪問對象的成員呢?myClock.SetTime(8,30,30);myClock.ShowTime();myClock.hour; 例7:時鐘類完整程序#includeusing namespace std;class Clock public: void SetTime(int NewH=0, int NewM=0, int NewS=0); void ShowTime(); private: int Hour, Minute, Second;;void Clock : SetTime(int NewH, int NewM, int NewS) Hour=NewH; Minute=NewM; Second=NewS;void Clock : ShowTime() coutHour:Minute:Second;int main() Clock myClock; myClock.SetTime(8,30,30); myClock.ShowTime();類的實現(xiàn)部分類的實現(xiàn)部分類的定義部分類的定義部分主函數(shù)主函數(shù)分析:類的定義是對問題
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 保險服務(wù)采購合同終止及保險責任協(xié)議
- 城市地下停車場租賃及改造合作協(xié)議
- 紙質(zhì)規(guī)劃方案文案
- 養(yǎng)生館升級裝修方案
- 煤礦修舊利廢實施方案
- 管道鑒定方案
- 企業(yè)商標管理實務(wù)課件
- 智能電規(guī)劃升級方案
- 輿論回應(yīng)面試題及答案
- 餐飲業(yè)食品安全風險評估與防控合同范本
- CFG樁施工技術(shù)培訓課件(-40張)
- 加藥設(shè)備安裝 檢驗批施工質(zhì)量驗收表
- 崗位技能評定機考考場規(guī)則
- 盡職調(diào)查所用相關(guān)表格(全)
- 三基-學校兒童少年衛(wèi)生學(200題)練習
- 老年康養(yǎng)服務(wù)中心項目可行性研究報告寫作參考范文
- 生物質(zhì)中纖維素、半纖維素和木質(zhì)素含量的測定
- 枸杞采摘合同
- 渦流探傷儀設(shè)計方案
- 張家界船舶工業(yè)項目建議書【模板范本】
- 來料檢驗報告模板
評論
0/150
提交評論