.Net字段和属性

最近脑子不太好用,上班任务不太多,抽空整理下,也算是备份一下。

.Net中字段和属性是很基础的东西,

字段:Field

属性:property

 字段定义:存储类要满足其设计所需要的数据,可以为变量,也可以是常量
 属性定义:属性是一个方法或一对方法,但在调用它的代码看来,它是一个字段,即属性适合于以字段的方式使用方法调用的场合。——《大话设计模型》

// .Net Framwork3.5 之前的写法
 public string Name
{
            get { return _Name; }
            set { _Name =value ; }
}

//.Net Framwork3.5 之后的写法
 public string Name { get; set; }

/// 原理也就是上面的定义,为一组方法,代码如下:

        public string _Name;

        public string GetName()
        {
            return _Name;
        }
       

        public void SetName(string value)
        {
            this._Name = value;
        }

属性和字段的关系

个人认为,属性就是对字段的封装,可以根据个人或者项目的需要进行控制

为什么要使用属性?
使用属性可以对字段进行控制,如设置字段为只读、只写、可对数值进行判断和控制

属性与Public字段的区别:
对于外界公开的数据,我们通常希望能做更多的控制,这就好像我们的房子,我们并不希望房子是全透明的,那样你在家里的所有活动全部都被看得清清楚楚,
毫无隐私可言。通常我们的房子是有门有窗的,但更多的是不透明的墙,这些窗和门其实就是publick,房内的就是private,。而对于房子来说,门窗是可以控制的
我们并不愿意让所有的人都可以从门随意进出。这就是属性的作用,如果把字段声明为publick,那就意味着不设防的门窗,任何时候,调用者都随时可读或可写,程序员无法控制,
这是非常不好的。如果封装为属性,就可以对门窗进行控制。——《大话设计模型》


总结:把对外的数据(字段)封装成属性,方便我们对其进行控制,和程序安全。

原文地址:https://www.cnblogs.com/youmeng/p/3122784.html