条款 22 :将成员变量声明为private
Declare data members private.
- 如果你将成员变量声明为public,每个人都可以对他读写;但如果你以函数取得或设定其值,你就可以实现“不准访问”,“只读访问”,“读写访问”等。对读写这么细微的控制往往是必要的。
- 对protectd的成员变量,他也和public一样缺乏封装性。其实只有两种访问权限:private(提供封装)和其他(不提供封装)。
1. 切记将成员变量声明为private.这 可赋予客户访问数据的一致性,可以细微划分访问控制,允许约束条件获得保证,并提供class作者以充分的实现弹性。
2. protected并不比public更具封装性。