条款 - 22 将成员变量声明为 private
如果成员变量不是 public ,客户唯一能够访问对象的办法就是通过成员函数。这也体现了“封装”的思想。
使用函数可以让你对成员变量的处理有更精确的控制。( 如果你令成员变量为 public ,每个人都可以读写它,但如果你以函数取得或设定其值,你就可以实现出 “ 不准访问 ”、“ 只读访问 ”、“ 读写访问 ” )。
Remember:
1- 切记将成员变量声明为 private。 这可赋予客户访问数据的一致性、可细微划分访问控制、允诺约束条件获得保证,并提供 class 作者以充分的实现弹性。
2- protected 并不比 public 更具封装性。