zoukankan      html  css  js  c++  java
  • C#中的get;set;

    这是C#中的属性 

    public string UserName
    {
    get { return this._username; }
    set { this._username = value; }
    }

    通俗来讲..get是获取值 set是设置值

    比如这句:get { return this._username; }
    如果调用这个get方法 就能获得方法return的 this._username(返回的值)
    调用方法:Console.Write(对象.UserName);(输出该属性的值)

    比如这句:set { this._username = value; }
    如果调用这个set方法 就可以重新设置username的值 value就是你新设置的值
    调用方法:对象.UserName="新值";(为该属性附新值)

    个人理解:
    1.在封装数据库字段的时候非常有用,相信大家都这么用。
    2.你可以吧UserName当成一个这个类的一个属性,这个属性由字段_username的值确定,也可能不是_username,而是经过_username变化的。你可以在GET、SET中作相应的处理。比如这样:

    public string UserName
    {
    get {
    if(string.IsNullOrEmpty(_username))
    return ERRORCODE;
    return this._username;
    }
    set {
    if(string.IsNullOrEmpty(_username))
    this._username = defaultusername;
    this._username = value;
    }
    }

    所以,封装以后,比没有封装更加方便。如果你要做条件判断、转换等 操作,在GET、SET你做会更方便。而且还保护了原字段。
    假设_username是数据库字段,如果程序员不想公开这个属性,而是做一些变换,这样数据安全性更高。
  • 相关阅读:
    简单工厂模式_C#_设计模式
    单例模式_C#设计模式
    快速排序_排序算法_算法
    关于缓存C#
    网络编程的4种IO模型
    一些自己总结
    驱动漏洞中的__try和ProbeForRead
    poj2318
    poj1113
    poj 1904
  • 原文地址:https://www.cnblogs.com/jife/p/2964219.html
Copyright © 2011-2022 走看看