本帖最后由 剑弑 于 2019-3-21 23:45 编辑
类中“字段的访间方式”有两种,一种直接访问,一种间接访问;直接访问变量的好处在于:代码容易阅读,不用先通过查看分析取值时是否有做处理;而间接访问变量在于:支持更灵活的数据管理方式,例如要做延迟初始化,也可以改变取值/设值的方式。直接访问
[C#] 纯文本查看 复制代码 private/public int _low;
间接访问
[AppleScript] 纯文本查看 复制代码
private int _low;
public int Low { get { return _low; } set { _low=value ; } }
相信大家看到都很熟悉,但这些跟“自封装字段(Self Encapsulate Field)”重构手法有什么关系呢?
其实“自封装字段(Self Encapsulate Field)”就是把类中的字段改成私有属性,在用一个公共属性来作为被访问对象,从而达到对类属性的保密。一旦类拥有子类,我们就可以随意的对父类的属性进行覆写
[C#] 纯文本查看 复制代码 public int Low { get { return base.Low * 10; } }
注:不建议这样使用,可以用另一属性名。
参考文献
重构——改善既有代码的设计 【美】Martin Fowler 著
熊节 译
|