1. 程式人生 > >將成員變數宣告為private——effective c++學習筆記

將成員變數宣告為private——effective c++學習筆記

將成員變數宣告為privateDeclare data members private.

不採用public成員變數的理由:

1、語法的一致性。所有對成員的訪問通過函式來進行。

2、使用函式可以讓你對變數的處理有更精確的控制。

3、封裝:如果使用函式訪問,萬一成員變數傳送更改,對客戶來說沒有影響。封裝他們可以確保class的約束條件總會獲得維護,因為只有成員函式可以影響他們,也保留了日後變更的權力。

同時,protected 變數使用於上面的12。對於封裝性,public變數變化影響的是使用此變數的所有的程式碼,而protected變數影響的是所有使用此變數的derived class

程式碼。所以,不要使用protected 變數。在這一點上我做的不好,我使用了大量的protected 變數。

注意:

1、切忌將成員變數宣告為private。則可賦予客戶訪問資料的一致性,可細微劃分訪問控制,允諾約束條件獲得保證,並通過class作者以足夠的彈性。

2、protected並不比public更具有封裝性。