20176408李俊 类与对象
抽象
是對具體對象(問題)進行概括,抽出這一類對象的公共性質并加以描述的過程
數據抽象:描述某類對象的屬性或狀態(對象相互區別的物理量)
int Hour , int Minute , int Second
代碼抽象:描述某類對象的共有的行為特征或具有的功能
SetTime( ) , ShowTime( )
抽象的實現:通過類的聲明
將抽象出的數據成員、代碼成員相結合,將它們視為一個整體。
目的是增強安全性和簡化編程,使用者不必了解具體的實現細節,而只需要通過外部接口,以特定的訪問權限,來使用類的成員。
實現封裝:類聲明中的{}
類
是具有相同屬性和行為的一組對象的集合,它為屬于該類的全部對象提供了統一的抽象描述,其內部包括屬性和行為兩個主要部分。
利用類易于編寫大型復雜程序,其模塊化程度比C中采用函數更高。
類是一種用戶自定義類型,聲明形式:
class 類名稱
{
public:
公有成員(外部接口)
private:
私有成員
protected:
保護型成員
};
公有類型成員
在關鍵字public后面聲明,它們是類與外部的接口,任何外部函數都可以訪問公有類型數據和函數。
私有類型成員
在關鍵字private后面聲明,只允許本類中的函數訪問,而類外部的任何函數都不能訪問。
如果緊跟在類名稱的后面聲明私有成員,則關鍵字private可以省略:
class Clock
{ int Hour,Minute,Second;
public:void SetTime(int NewH,int NewM,int NewS);
void ShowTime();
};
成員數據
與一般的變量聲明相同,但需要將它放在類的聲明體中。
成員函數
在類中說明原型,可以在類外給出函數體實現,并在函數名前使用類名加以限定。也可以直接在類中給出函數體,形成內聯成員函數。
允許聲明重載函數和帶默認形參值的函數。
內聯成員函數
1.為了提高運行時的效率,對于較簡單的函數可以聲明為內聯形式。
2.內聯函數體中不要有復雜結構(如循環語句和switch語句)。
3.在類中聲明內聯成員函數的方式:
將函數體放在類的聲明中
使用inline關鍵字
對象
類的對象是該類的某一特定實體,即類類型的變量。
聲明形式: 類名 對象名;
例:Clock myClock;
類中成員的訪問方式
類中成員互訪 直接使用成員名
類外訪問 使用“對象名.成員名”方式訪問 public 屬性的成員
構造函數
1.構造函數的作用是在對象被創建時使用特定的值構造對象,或者說將對象初始化為一個特定的狀態
2.在對象創建時由系統自動調用
3.如果程序中未聲明,則系統自動產生出一個默認形式的構造函數
4.允許為內聯函數、重載函數、帶默認形參值的函數
5.特殊性質:
函數名與類名相同
沒有返回值
聲明為公有函數public
函數重載
重載函數的聲明
C++允許功能相近的函數在相同的作用域內以相同函數名聲明,從而形成重載。方便使用,便于記憶。
注意事項
1.重載函數的形參必須不同:個數不同或類型不同。
2.編譯程序將根據實參和形參的類型及個數的最佳匹配來選擇調用哪一個函數。
編譯器不以形參名來區分
編譯器不以返回值來區分
3.不要將不同功能的函數聲明為重載函數,以免出現調用結果的誤解、混淆
析構函數
1.完成對象被刪除前的一些清理工作
2.在對象的生存期結束的時刻系統自動調用它,然后再釋放此對象所屬的空間
3.如果程序中未聲明析構函數,編譯器將自動產生一個默認的析構函數
規定:是類的公有函數成員
名稱由類名前加” ~”構成
沒有返回值
總結
以上是生活随笔為你收集整理的20176408李俊 类与对象的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Word 2003 长篇文档排版技巧(一
- 下一篇: 大数据分析李俊