人類??
上帝賦予了每個人獨立的思想,這使得他們有極強的自我意識。他們本身的屬性,一般只能通過自己的成員方法來進行獲取或者改變。
聽說有人問我體重
例如,我們都知道之間問女性的年齡是及其不禮貌而且危險的一件事情。為什么呢?讓我們來看看一個女性的構造:
class Human {
Human();
~Human();
private:
int height;
int weight;
bool isHappy;
public:
void eat ();
void showWeight () {
if (isHappy) {
cout << "My weight is " << this.weight;
// 這里的this就是指當前的這個對象
}
else {
cout << "You are a good man";
}
};
這當然還是上一章中創造出的人類。我們注意到weight這個成員變量是private的,也就是私有的。私有的東西當然不能讓別人隨便看到或修改,如果有人可以隨便跑過來修改你的身高和體重這會是一件非??膳碌氖虑椤K詐rivate的這些屬性是受到保護的,有沒有被改變或者查詢一目了然:
Human scarlett();
scarlett.showWeight();
但是通過這樣直接訪問是不可以的:
cout << scarlett.weight;
這種對類的屬性進行隱藏和保護,并通過設置接口(也就是成員方法)來和外部進行交互(交流)的方法,就稱為封裝(Encapsulation)
當然,如果你是一個了解面向對象,或者熟知C++的讀者,看到這里心里已經充滿疑問了。你上面說這是女性的構造,難道男性不是Human?如果男性是Human,那問男性體重不也會變成問女性那樣的情狀?
不用急,答案在下一章~