马上加入IBC程序猿 各种源码随意下,各种教程随便看! 注册 每日签到 加入编程讨论群

C#教程 ASP.NET教程 C#视频教程程序源码享受不尽 C#技术求助 ASP.NET技术求助

【源码下载】 社群合作 申请版主 程序开发 【远程协助】 每天乐一乐 每日签到 【承接外包项目】 面试-葵花宝典下载

官方一群:

官方二群:

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

  [复制链接]
查看4103 | 回复7 | 2019-3-20 23:30:19 | 显示全部楼层 |阅读模式
本帖最后由 剑弑 于 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 著
                                                                         熊节 译

ibcadmin | 2019-3-21 11:06:03 | 显示全部楼层
+111   

回头我把你这系列整理一下  放到首页显眼的位置。
C#论坛 www.ibcibc.com IBC编程社区
C#
C#论坛
IBC编程社区
lxhtz | 2019-8-2 12:57:42 | 显示全部楼层
以后真的注意了。。。 楼主真好












中国2019年合法代怀孕
剑弑 | 2021-11-5 16:37:03 | 显示全部楼层
lxhtz 发表于 2019-8-2 12:57
以后真的注意了。。。 楼主真好

*滑块验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则