将成员变量声明为private——effective c++学习笔记

来源:互联网 发布:如何买亚瑟士 知乎 编辑:程序博客网 时间:2024/05/16 08:24

将成员变量声明为privateDeclare data members private.

不采用public成员变量的理由:

1、 语法的一致性。所有对成员的访问通过函数来进行。

2、 使用函数可以让你对变量的处理有更精确的控制。

3、 封装:如果使用函数访问,万一成员变量发送更改,对客户来说没有影响。封装他们可以确保class的约束条件总会获得维护,因为只有成员函数可以影响他们,也保留了日后变更的权力。

 

同时,protected 变量使用于上面的12。对于封装性,public变量变化影响的是使用此变量的所有的代码,而protected变量影响的是所有使用此变量的derived class代码。所以,不要使用protected 变量。在这一点上我做的不好,我使用了大量的protected 变量。

注意:

1、 切忌将成员变量声明为private。则可赋予客户访问数据的一致性,可细微划分访问控制,允诺约束条件获得保证,并通过class作者以足够的弹性。

2、 protected并不比public更具有封装性。

原创粉丝点击