很多初学者,在老师带着写程序时,经常用到属性和字段。只是盲目跟着写,却不知道,区别和作用。我的个人理解和认识分享给大家。字段是用来存数据的,考虑到数据的安全性,我们通常定义为私有的,但是一旦定义为私有的外界就不能访问了;于是我们就考虑到用属性,它起到对字段保护作用,它定义为公共的,我们可以定义其自动属性{get;set;}通过开发环境的编译可生成对应的字段。它负责与外界打交道安全保护了数据。

解决方案 »

  1.   

    基本上就是你说的作用。属性是方法(method),只不过语法上巧妙地隐藏了 get_、set_ 的方法前缀,使得看起来很像字段。这样我们可以先写一个publi string
     ABC;字段,先把程序跑起来,然后将来改为public string ABC{get;set;}之后,重新编译一下就通过了,而思想概念上没任何负担就把字段处理功能扩展了,不需要修改几百上前行代码。
      

  2.   

    对于普通的没有特殊要求的字段属性, 你可以认为他们是一致的。有一些比如年龄之类的, 可以用 属性来限制以保证其合理性private int age = 0;
    public int Age
    {
        get{
            return age;
        }
        set{
            if(value>=130 || value<0)
                    throw new Execption("年龄不合理");
            age = value;
        }
    }
      

  3.   

    属性其实就是方法,也就是get set 方法,编译器会自动在类中生成以get set开头的方法来进行获取设置操作数据操作。  至于字段它可以直接获取,没有方法体供操作。可以声明只读的,静态的字段,个人感觉就是特殊的"属性"。
      

  4.   

    属性封装了字段,属性就是方法里面有 get set