zoukankan      html  css  js  c++  java
  • 深入了解隐式属性和带实现值属性的区别(属性中get{},set{}访问器小解)

    //在属性中定义
    public string name{get;set;}//隐式属性
    
    private string name;
    public string Name
    {
        get { return name; }
        set { name= value; }
    }

    两者都是为了数据安全,封装字段用的。

    正常来说,两者的使用是相同的,前一种的写法由编译器生成后一种的代码;

    public string name{get;set;}这种写法是dotNet2.0以后才可以这样写,目的是减轻程序员的工作量,它的实现就是楼上讲的由编译器生成

    当然如果简单get没写实现,set写了实现是不行的,但在前面加上抽象关键字abstract,对应的没写实现的就与抽象方法一样;
    get和set还可以再加上public等访问级别。

    区别是:

    如果你要对属性做一些判断,如字符串不能为空,整数必须大于零等等这样的操作,那么你就没办法利用

    public string name{get;set;}

    这样的便利,必须老老实实写形如

    public string Name
    {
        get { return name; }
        set { name= value; }
    }
    这样的代码


  • 相关阅读:
    RabbitMQ 均衡调度(公平分发机制)
    RabbitMQ 循环调度
    模型绑定与验证笔记
    Controller总结
    JQuery事件绑定,bind与on区别
    View的呈现(一)ActionResult
    C#操作sql时注意点
    mvc4中的过滤器
    Bundle、Intent、SharedPreferences
    SharedPreferences的基本用法
  • 原文地址:https://www.cnblogs.com/javawebsoa/p/3093521.html
Copyright © 2011-2022 走看看