动机
在“字段访问方式”这个问题上,存在两种截然不同的观点:其中一派认为,在该变量定义所在的类中,你可以自由访问它:另一派认为,即使在这个类中你也应该只使用访问函数间接访问。两派之间的争论可以说是如火如荼。
面临选择时,我总是做两手准备。通常情况下我会很乐意按照团队中其他人的意愿来做。就我自己而言,我比较喜欢先使用直接访问方式,直到这种方式给我带来麻烦为止,此时我就会转而使用间接访问方式。重构给了我改变主意的自由。
做法
- 为待封装字段建立取值/设值函数。
- 找出该字段的所有引用点,将它们全部改为调用取值/设值函数。
- 将该字段声明为private。
- 复查,确保找出所有引用点。
- 编译,测试。
范例
class IntRange {
private int _low, int _high;
IntRange