人類蔗候?檀训?
上帝賦予了每個(gè)人獨(dú)立的思想柑潦,這使得他們有極強(qiáng)的自我意識(shí)。他們本身的屬性峻凫,一般只能通過自己的成員方法來進(jìn)行獲取或者改變渗鬼。
聽說有人問我體重
例如,我們都知道之間問女性的年齡是及其不禮貌而且危險(xiǎn)的一件事情荧琼。為什么呢譬胎?讓我們來看看一個(gè)女性的構(gòu)造:
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就是指當(dāng)前的這個(gè)對(duì)象
}
else {
cout << "You are a good man";
}
};
這當(dāng)然還是上一章中創(chuàng)造出的人類差牛。我們注意到weight這個(gè)成員變量是private的,也就是私有的堰乔。私有的東西當(dāng)然不能讓別人隨便看到或修改偏化,如果有人可以隨便跑過來修改你的身高和體重這會(huì)是一件非常可怕的事情镐侯。所以private的這些屬性是受到保護(hù)的夹孔,有沒有被改變或者查詢一目了然:
Human scarlett();
scarlett.showWeight();
但是通過這樣直接訪問是不可以的:
cout << scarlett.weight;
這種對(duì)類的屬性進(jìn)行隱藏和保護(hù),并通過設(shè)置接口(也就是成員方法)來和外部進(jìn)行交互(交流)的方法析孽,就稱為封裝(Encapsulation)
當(dāng)然搭伤,如果你是一個(gè)了解面向?qū)ο螅蛘呤熘狢++的讀者袜瞬,看到這里心里已經(jīng)充滿疑問了怜俐。你上面說這是女性的構(gòu)造,難道男性不是Human邓尤?如果男性是Human拍鲤,那問男性體重不也會(huì)變成問女性那樣的情狀?
不用急汞扎,答案在下一章~