条款22:将成员变量声明为private
protected成员变量的封装性并非高于public变量。
如果有个public的成员变量,一旦其需要改变,那么所有使用它的代码都需要改变。
如果有个protected的成员变量,一点其需要改变,那么所有的继承自他的derived class都需要重新改变。这与上面孰轻孰重其实不重要
所以说,往往只有两种封装性质,private或者是不封装
小结:
切记将成员变量声明为private
protected并不比public更具有封装性
protected成员变量的封装性并非高于public变量。
如果有个public的成员变量,一旦其需要改变,那么所有使用它的代码都需要改变。
如果有个protected的成员变量,一点其需要改变,那么所有的继承自他的derived class都需要重新改变。这与上面孰轻孰重其实不重要
所以说,往往只有两种封装性质,private或者是不封装
小结:
切记将成员变量声明为private
protected并不比public更具有封装性