c# get set使用心得

1.标准模版

最标准的属性定义方式

       private string _userName;
        public string userName
        {
            get { return _userName; }
            set { this._userName = value; }
        }

升级版的写法

private string _userName;

public string userName
        {
            get { return _userName; }
            set 
            { 
                if(value == "张三")
                {this._userName = "系统管理员";}  
            }
        }

2.其它方式

public int userid;
 public string header { get; set; }

其中第二种定义方式效果与最标准的定义方式最终效果相同。但是就是这种定义方式必须同时具备get、set方法。但是在标准定义里,可以只有get或者set为只读或者只写。

public int userid 这种定义方式将属性完全开放,安全程度低。一般不采纳。


3.理论

属性与普通变量不同就在于, 普通变量就是放在屋子里的东西, 是什么样明明白白. 而属性则是在屋子的门口放了个守门人, 你拿东西放东西要经过他.

这个守门人就是属性访问器, 拿东西就是 get, 放东西就是 set. 怎么拿怎么放是它说了算, 虽然你觉得好像就是直接拿直接放差不多. 
GET SET 就是对外的接口 ,一般在实例中访问成员数据需要这个成员数据的访问方式为PUBLIC ,现在C#很高级了,GET 就是获取,SET 就是设置,但是它提供了跟好的收缩性,对GET 和SET 可以单独设置访问权限 比如你对某个成员数据只能读取或者只写,或者只有派生类可以访问等。。。 相对以前来说,没有属性访问器,需要通过函数来调用私有成员数据,属性提供了高效的访问模式和简单的书写



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值