現實世界中,將事物的屬性和行為表示出來,就可以抽象出這個事物。
定義乙個結構體用來表示乙個物件所包含的屬性,函式用來表示乙個物件所具有的行為,這樣就可以表示乙個事物。在c中,行為和屬性是分開的。
屬性和行為應該放在一起,一起表示乙個具有屬性和行為的物件。封裝提供一種機制能夠給屬性和行為的訪問控制權。
所以說,封裝包含兩個方面:1)屬性和變數合成乙個整體;2)給屬性和訪問增加許可權。
c中struct只有變數,c++中struct既有變數又有函式
class預設訪問許可權是private,struct預設訪問許可權是public。
訪問許可權------1、在類的內部(作用範圍內),沒有訪問許可權之分,所有成員可以互相訪問;
2、在類的外部(作用域範圍外),訪問許可權沒有才有意義,public,protected,private
3、在類的外部,只有public修飾的成員才能被訪問,在沒有涉及繼承與派生時,protected和private是同等級的
訪問屬性
屬性物件內部
物件外部
public
公有yes
yesprotected
受保護yes
noprivate
私有yes
noc語言下的封裝
#define _crt_secure_no_warnings
#include#include#includestruct person
;void personeat(struct person *p)
void test01()
struct dog
;void dogeat(struct dog *dog)
void test02()
//c語言封裝 屬性和行為分開處理 型別檢測不夠
int main(void)
c++下的封裝
#define _crt_secure_no_warnings
#includeusing namespace std;
struct person
};struct dog
};//c++中的封裝有嚴格型別轉換檢測 讓屬性和行為繫結到一起
//屬性和行為作為乙個整體來表示生活中的事物
//控制許可權 public protected private
void test01()
//struct和class是乙個意思,唯一的不同 預設許可權struct是public
//如果不宣告許可權,class預設private
class animal
public:
int height;
protected:
int weight;
};//所謂私有許可權 就是私有的成員在類內部可以訪問,在類的外部不能訪問
void test02()
int main(void)
將成員變數設定為私有private
1)可賦予客戶端訪問屬性的一致性;
2)可細微劃分訪問控制。
類和物件基礎知識
1.類和物件的基礎知識 定義 類就可以看做是對相似事物的抽象 訪問限定符 public,private,protect 封裝性 1 良好的封裝能夠減少耦合。2 類內部的結構可以自由修改。3 可以對成員進行更精確的控制。4 隱藏實現細節 物件大小計算 只計算非靜態成員變數 公有私有都算 不算函式,和s...
C 類與物件基礎知識
1.初步認識類與物件 主觀世界的抽象類別 計算機世界中的類 現實世界的實體 計算機世界的物件 在現實世界中,實體被抽象成抽象類別 在計算機世界中,類可以被例項化為物件 簡述c語言與c 的區別 c語言是面向過程的,關注的是過程,分析出求解問題的步驟,通過函式呼叫逐步解決問題 c 基於物件導向的,關注的...
C 複習 類和物件的基礎知識
類構成了實現c 物件導向程式設計的基礎。類是c 封裝的基本單元,它把資料和函式封裝在一起。乙個類描述一類事物,描述這些事物所應具有的屬性。在類之後定義成員函式 隱含的this指標 類的訪問限定符 private 私有 protected 保護 類的訪問限定符體現了物件導向的封裝性。作用域類的作用域 ...