類和對(duì)象類與對(duì)象的概念類的聲明和對(duì)象的定_第1頁(yè)
類和對(duì)象類與對(duì)象的概念類的聲明和對(duì)象的定_第2頁(yè)
類和對(duì)象類與對(duì)象的概念類的聲明和對(duì)象的定_第3頁(yè)
類和對(duì)象類與對(duì)象的概念類的聲明和對(duì)象的定_第4頁(yè)
類和對(duì)象類與對(duì)象的概念類的聲明和對(duì)象的定_第5頁(yè)
已閱讀5頁(yè),還剩21頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、第8章 類和對(duì)象8.1 類與對(duì)象的概念 8.2 類的聲明和對(duì)象的定義8.3 類的成員函數(shù)8.4 對(duì)象成員的引用8.5 類和對(duì)象的簡(jiǎn)單應(yīng)用示例8.6 類的封裝性和信息隱藏本學(xué)期的教學(xué)特點(diǎn)與學(xué)習(xí)方法教學(xué)特點(diǎn)課堂講重點(diǎn)、主線。要求記筆記,記重點(diǎn)學(xué)會(huì)把握講課的重點(diǎn)是一種通用能力。課堂示例與課本的例子不同擴(kuò)大學(xué)習(xí)容量。課堂示例會(huì)在實(shí)驗(yàn)報(bào)告中以實(shí)驗(yàn)內(nèi)容提供,以便同學(xué)們復(fù)習(xí)。課前課后必須認(rèn)真看課本內(nèi)容,消化課堂教學(xué)的理論內(nèi)容。實(shí)驗(yàn)任務(wù)與課堂教學(xué)同步安排,但不是簡(jiǎn)單的驗(yàn)證課堂教學(xué)內(nèi)容。實(shí)驗(yàn)任務(wù)的問(wèn)題注重概念、引導(dǎo)思考,需要在認(rèn)真閱讀課本后完成。書面作業(yè)注重設(shè)計(jì)能力的訓(xùn)練。學(xué)習(xí)方法課堂上聽(tīng)懂,注意作筆記;以教材

2、、筆記為參考,完成實(shí)驗(yàn)任務(wù)和書面作業(yè);課后對(duì)照教材、筆記、實(shí)驗(yàn)報(bào)告、書面作業(yè)進(jìn)行復(fù)習(xí)。面向過(guò)程與面向?qū)ο螅核枷敕椒ǖ牟煌谝粚W(xué)期的程序設(shè)計(jì):注重程序設(shè)計(jì)步驟面向過(guò)程:考慮問(wèn)題從程序設(shè)計(jì)運(yùn)行的“步驟”入手細(xì)節(jié)的豐富與多樣性,使“設(shè)計(jì)”成為“藝術(shù)”面向?qū)ο蟮某绦蛟O(shè)計(jì):思想方法的進(jìn)步從整體到細(xì)節(jié),從一般到具體思想方法更貼近人的思維方式觀察一個(gè)新事物的過(guò)程我們的學(xué)校環(huán)境:教學(xué)區(qū)、生活區(qū)、休閑區(qū)教學(xué)區(qū):教學(xué)室、實(shí)驗(yàn)室、體育運(yùn)動(dòng)設(shè)施生活區(qū):宿舍、食堂、店鋪、馬路組織:學(xué)院-分院-專業(yè)-班級(jí)人員:老師、同學(xué)本次課重點(diǎn)介紹C+的一種新的數(shù)據(jù)類型類與對(duì)象“類”類型定義的語(yǔ)法規(guī)范“對(duì)象”的定義與使用的語(yǔ)法規(guī)范類與

3、對(duì)象的物理意義以類和對(duì)象為基礎(chǔ)的程序設(shè)計(jì)示例例:“時(shí)鐘”對(duì)象的C+描述時(shí)鐘的基本特征時(shí)間屬性的數(shù)量描述時(shí)(hour)分(minute)秒(second)我們可以對(duì)時(shí)鐘的操作設(shè)置時(shí)間:調(diào)整時(shí)間(對(duì)hour,minute,second的改變)讀取時(shí)間:獲取時(shí)間屬性的具體數(shù)值( 輸出hour,minute,second )某種時(shí)鐘產(chǎn)品有多個(gè)-不同的時(shí)鐘對(duì)象,而這一種時(shí)鐘產(chǎn)品就稱為一種時(shí)鐘的類型-類int hour;int minute;int second;9:23:42用C+語(yǔ)言的“類”模型描述“時(shí)鐘”class Timeprivate:/定義時(shí)鐘的基本屬性相當(dāng)于機(jī)械鐘的齒輪int hour, m

4、inute, second;public:/定義時(shí)鐘的基本功能void SetTime(int h, int m, int s)/設(shè)置時(shí)間hour=h;minute=m;second=s;void GetTime(int &h, int &m, int &s)/讀取時(shí)間h=hour; m=minute; s=second;從外界對(duì)時(shí)鐘設(shè)置時(shí)間:比如時(shí)鐘的設(shè)置按鈕外界獲取時(shí)鐘的時(shí)間:比如時(shí)鐘的表盤或屏幕class Timeprivate: int hour, minute, second;public:void SetTime(int h, int m, int s)hour=h;minute=

5、m;second=s;void GetTime(int &h, int &m, int &s)h=hour; m=minute; s=second;在類里包含了數(shù)據(jù)成員和操作數(shù)據(jù)成員的成員函數(shù),實(shí)現(xiàn)了把數(shù)據(jù)和操作封裝在一起。成員訪問(wèn)限定符,在定義體開(kāi)始處如不指定,則默認(rèn)為私有private。從時(shí)鐘的描述形式看類的聲明方法關(guān)鍵字類Time類型名成員訪問(wèn)限定符,以下成員為公有成員public數(shù)據(jù)成員函數(shù)成員類體結(jié)束私有成員,只有類內(nèi)部定義的函數(shù)可以訪問(wèn)。公有成員,類內(nèi)部、外部定義的函數(shù)都可以調(diào)用。對(duì)象的定義類的定義只是定義了一種類型,說(shuō)明有這樣一種事物。要?jiǎng)?chuàng)建這個(gè)種類的具體事物,需要定義對(duì)象。注意

6、:類定義創(chuàng)建了新的數(shù)據(jù)類型,只是類型說(shuō)明,還沒(méi)有定義存儲(chǔ)空間(變量),并沒(méi)有創(chuàng)建實(shí)際的對(duì)象。創(chuàng)建對(duì)象的語(yǔ)法:指定存儲(chǔ)空間 Time t1 ,t2;class Timeprivate: int hour, minute, second;public: void SetTime(int h, int m, int s) hour=h;minute=m;second=s; void GetTime(int &h, int &m, int &s) h=hour; m=minute; s=second; ;類名對(duì)象名對(duì)象的使用使用對(duì)象的方式有三種:整個(gè)對(duì)象對(duì)象的數(shù)據(jù)成員對(duì)象的函數(shù)成員;對(duì)象成員的使用要受

7、到訪問(wèn)控制的影響,需要特別注意。使用對(duì)象的數(shù)據(jù)成員只能通過(guò)間接方式(調(diào)整時(shí)鐘的時(shí)間、讀出時(shí)鐘的時(shí)間)Time t1, t2;t1.SetTime(9,23,42);int hh,mm,ss;t1.Gettime(hh,mm,ss);couthh“:”mm“:”ss;coutendl;給對(duì)象t1中的私有數(shù)據(jù)成員hour,minute,second賦值(間接)獲取對(duì)象t1中的私有數(shù)據(jù)成員hour,minute,second的數(shù)據(jù)(間接)通過(guò)調(diào)用類的公有成員函數(shù)訪問(wèn)類中的私有成員。思考:為什么不能直接對(duì)數(shù)據(jù)成員賦值和輸出?實(shí)驗(yàn):一個(gè)這樣的程序有什么問(wèn)題?void main()Time t1, t2;

8、t1.hour=9; t1.minute=23; t1.second=42;coutt1.hour“:”t1.minute“:”t1.second;coutxyz;t1.SetTime(x, y, z);int hh,mm,ss;t1.GetTime(hh,mm,ss);couthh“:”mm“:”ssxyz;t1.SetTime(x, y, z);t1.GetTime(hh,mm,ss);cout“Now time is :”hh“:”mm“:”ssendl;coutyorn;while (yorn=y | yorn=Y);cout“Have a nice day !”23 | hour59

9、 | minute59 | second23 | hour59 | minute59 | secondxyz;t1.SetTime(x, y, z);t1.GetTime(hh,mm,ss);cout“Now time is :”hh“:”mm“:”ssendl;coutyorn;while (yorn=y | yorn=Y);cout“Have a nice day !”endl;簡(jiǎn)單應(yīng)用舉例例8.4,用類的方法進(jìn)行設(shè)計(jì),找出一組整數(shù)中的元素的最大值。計(jì)算器輸出屏幕1592603in748outmax設(shè)想有一種計(jì)算器,能存儲(chǔ)一組整數(shù),且能找出其最大值 一種計(jì)算器類型:數(shù)據(jù)屬性:可存儲(chǔ)10個(gè)整

10、數(shù)的數(shù)組,記錄最大值的變量;功能(方法或操作):接收數(shù)據(jù)、輸出數(shù)據(jù)、查找最大值、輸出最大數(shù);class Array_max public:void set_value();void show_value();void max_value();void show_max(); private:int array10; int max;簡(jiǎn)單應(yīng)用舉例void Array_max:set_value() for (int k=0;karrayk;void Array_max:show_value() for (int k=0;k10;k+) coutarrayk ;void Array_max:sho

11、w_max() cout“max=”maxendl;void max_value() max=array0; /求最大數(shù)算法 for (int k=1;kmax) max=arrayk;class Array_max public:void set_value();void show_value(); void show_max();void max_value(); private:int array10; int max;至此只定義了這種“機(jī)器”的規(guī)格,還沒(méi)有機(jī)器實(shí)體。下面要建立一個(gè)這種機(jī)器的“對(duì)象”(即實(shí)體),并寫出“動(dòng)作指令”,以完成功能。void main() Array_max arr; arr.set_value(); arr.show_value(); arr.max_value(); arr.show_max();小結(jié):用類方法進(jìn)行程序設(shè)計(jì)的步驟確定要解決的問(wèn)題范圍已知什么,求解什么建立與問(wèn)題相關(guān)的類定義對(duì)象操作對(duì)象接收已知數(shù)據(jù)處理已知數(shù)據(jù)輸出

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 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ì)用戶上傳內(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論