剑弑 发表于 2019-3-20 23:30:19

重构之自封装字段(Self Encapsulate Field)

本帖最后由 剑弑 于 2019-3-21 23:45 编辑

      类中“字段的访间方式”有两种,一种直接访问,一种间接访问;直接访问变量的好处在于:代码容易阅读,不用先通过查看分析取值时是否有做处理;而间接访问变量在于:支持更灵活的数据管理方式,例如要做延迟初始化,也可以改变取值/设值的方式。直接访问

private/public int _low;

间接访问

      private int _low;

      public int Low { get { return _low; }set { _low=value ; } }
相信大家看到都很熟悉,但这些跟“自封装字段(Self Encapsulate Field)”重构手法有什么关系呢?
其实“自封装字段(Self Encapsulate Field)”就是把类中的字段改成私有属性,在用一个公共属性来作为被访问对象,从而达到对类属性的保密。一旦类拥有子类,我们就可以随意的对父类的属性进行覆写
public int Low { get { return base.Low * 10; } }
注:不建议这样使用,可以用另一属性名。

参考文献
重构——改善既有代码的设计   【美】Martin Fowler 著
                                                                         熊节 译

ibcadmin 发表于 2019-3-21 11:06:03

+111   

回头我把你这系列整理一下放到首页显眼的位置。

lxhtz 发表于 2019-8-2 12:57:42

以后真的注意了。。。 楼主真好











static/image/common/sigline.gif
中国2019年合法代怀孕

剑弑 发表于 2021-11-5 16:37:03

lxhtz 发表于 2019-8-2 12:57
以后真的注意了。。。 楼主真好




:)
页: [1]
查看完整版本: 重构之自封装字段(Self Encapsulate Field)