`
ijavagos
  • 浏览: 1187207 次
  • 性别: Icon_minigender_2
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

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

阅读更多

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

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

<!--[if !supportLists]-->1、 <!--[endif]-->语法的一致性。所有对成员的访问通过函数来进行。

<!--[if !supportLists]-->2、 <!--[endif]-->使用函数可以让你对变量的处理有更精确的控制。

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

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

注意:

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

<!--[if !supportLists]-->2、 <!--[endif]-->protected并不比public更具有封装性。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics