条款22:将成员变量声明为 private

Declare data members private.

将成员变量声明为私有,然后定义操作变量的函数接口,这些接口可以对成员变量的处理有更精确的控制,它们可以实现”不准访问“

、”只读访问“以及”读写访问“;并且通过函数访问成员变量,日后可改以某个计算替换这个成员变量,实现封装的特性。

  • 对比 public 成员变量,如果修改了这些成员变量,那么所有访问它的客户代码都将被污染;

  • 同样地,对于 protected 成员变量,所有的 derived classes 都会被破坏;

Last updated

Was this helpful?