面向?qū)ο蟮幕靖拍?/h1>
程序化結(jié)構(gòu)設(shè)計(jì)
在程序化結(jié)構(gòu)設(shè)計(jì)中,采用 自頂向下、逐步求精及模塊化 的思想
在編寫程序時(shí),使用3種基本控制結(jié)構(gòu)來(lái)構(gòu)造程序,即:順序、選擇、循環(huán)
面向?qū)ο蟪绦蛟O(shè)計(jì)的概念和特點(diǎn)
面向?qū)ο蟮某绦蛟O(shè)計(jì)方法,通常包括3個(gè)方面:
- 面向?qū)ο蟮姆治?/strong>;
- 面向?qū)ο蟮脑O(shè)計(jì);
- 面向?qū)ο蟮某绦蛟O(shè)計(jì)。
對(duì)象具有的2個(gè)特征:
- 狀態(tài):靜態(tài)特征,指對(duì)象本身的信息,也稱為屬性;
- 行為:動(dòng)態(tài)特征,對(duì)對(duì)象的操作;
面向?qū)ο蟮某绦蛟O(shè)計(jì)的4個(gè)基本特點(diǎn):
- 抽象;
- 封裝;
- 繼承;
- 多態(tài)。
對(duì)象的特點(diǎn):
- 屬性:描述對(duì)象靜態(tài)特征的數(shù)據(jù)項(xiàng);
- 操作:描述對(duì)象動(dòng)態(tài)特征的函數(shù)序列。
C++中使用3個(gè)要素來(lái)描述對(duì)象:
- 對(duì)象名;
- 屬性;
- 操作。
類的初步認(rèn)識(shí)
類的基本數(shù)據(jù)類型
| 基本數(shù)據(jù)類型 | 名稱 | 大小/字節(jié) |
|---|---|---|
| bool | 布爾型 | 1 |
| char | 字符型 | 1 |
| int | 整數(shù)型 | 4 |
| float | 浮點(diǎn)型 | 4 |
| double | 雙精度浮點(diǎn)型 | 8 |
類的定義
類中的成員按 功能 劃分,包括:
- 成員變量;
- 成員函數(shù)。
類中的成員按 訪問(wèn)權(quán)限 劃分,包括:
- 公有成員;
- 私有成員;
- 保護(hù)成員。
標(biāo)識(shí)符命名規(guī)則:字母、數(shù)字和下劃線的組合,大小寫敏感,但不能以數(shù)字開(kāi)頭,也不能和系統(tǒng)中使用的關(guān)鍵字完全相同。
類是具有 唯一標(biāo)識(shí)符 的實(shí)體,就是說(shuō) 類名不能重復(fù)。
類定義以 “;” 結(jié)束。
定義類時(shí)系統(tǒng)并不為類分配存儲(chǔ)空間,而只是把類看作是一種模板或樣板。
類中聲明的任何成員不能使用 auto、extern 和 register 關(guān)鍵字進(jìn)行修飾。
類C中不能定義類C的成員變量,但可以定義類C的指針和引用。
成員函數(shù)
如果成員函數(shù) 定義 在類體 內(nèi)部,則默認(rèn)是 內(nèi)聯(lián)函數(shù);
如果成員函數(shù) 聲明 在類體 內(nèi)部,并加上inline關(guān)鍵字,然后再 類體外 給出函數(shù)定義,這樣的成員函數(shù)也是內(nèi)聯(lián)函數(shù)。
類體外成員函數(shù)的定義的前面必須用 “類名::” 來(lái)限定:
返回值類型 類名::成員函數(shù)名(參數(shù)列表)
{
函數(shù)體
}
類作用域運(yùn)算符:::
成員函數(shù)和普通函數(shù)一樣,在內(nèi)存中只有一份,它可以作用于不同的對(duì)象,為類中各對(duì)象共享。
成員函數(shù)允許 重載
創(chuàng)建類對(duì)象的基本形式
基礎(chǔ)形式
類名 對(duì)象名;
使用 new 運(yùn)算符的形式
類名 * 對(duì)象名 = new 類名();
delete 對(duì)象名;
使用 new 形式創(chuàng)建對(duì)象時(shí),返回的是一個(gè) 對(duì)象指針。
使用 new 創(chuàng)建的對(duì)象,必須使用 delete 來(lái)撤銷。
對(duì)象的引用
類名 & 對(duì)象引用名 = 對(duì)象;
對(duì)象的指針
類名 * 對(duì)象指針名 = 對(duì)象的地址;
對(duì)象的數(shù)組
類名 對(duì)象數(shù)組名[數(shù)組大小];
對(duì)象數(shù)組的下標(biāo)都是從 0 開(kāi)始,且對(duì)象數(shù)組名是一個(gè) 指向數(shù)組首地址的常量指針。
訪問(wèn)對(duì)象的成員
類名 對(duì)象名;
對(duì)象名.成員變量;
對(duì)象名.成員函數(shù)(參數(shù)列表);
類名 & 對(duì)象引用名 = 對(duì)象名;
對(duì)象引用名.成員變量;
對(duì)象引用名.成員函數(shù)(參數(shù)列表);
類名 * 對(duì)象指針名 = & 對(duì)象名;
對(duì)象指針名->成員變量;
對(duì)象指針名->成員函數(shù)(參數(shù)列表);
如果是通過(guò)指針訪問(wèn)成員變量,使用“指針->成員名”的方式來(lái)訪問(wèn)對(duì)象的成員,但是指針需要初始化 。
p是一個(gè)指向類A數(shù)據(jù)成員的m的指針,A1是類A的一個(gè)對(duì)象,則要給m賦值的正確操作為:* A1.p = 5;
類成員的可訪問(wèn)范圍
| 訪問(wèn)范圍說(shuō)明符 | 含義 | 作用 |
|---|---|---|
| pubilc | 公有的 | 修飾的類成員可以在程序的任務(wù)地方被訪問(wèn) |
| private | 私有的 | 修飾的類成員僅能在本類內(nèi)被訪問(wèn) |
| protected | 保護(hù)的 | 修飾的類成員可以在本類內(nèi)以及子類中被訪問(wèn) |
只有在 類內(nèi) 和在 友元函數(shù) 內(nèi)才可以訪問(wèn)私有成員。
隱藏的作用
設(shè)置私有成員的機(jī)制叫做 隱藏。
目的:強(qiáng)制對(duì)私有成員變量的訪問(wèn)一定要通過(guò)公有成員函數(shù)進(jìn)行。
好處:如果以后修改了成員變量的類型或?qū)傩?,只需要修改成員函數(shù)即可。