黑马程序员技术交流社区

标题: C#中的属性和字段有什么区别 [打印本页]

作者: 王忠杰    时间: 2014-1-18 14:01
标题: C#中的属性和字段有什么区别
属性和字段有什么区别,最好给个代码

作者: 许庭洲    时间: 2014-1-18 14:46
属性可以 对设值、取值的 过程进行非法值控制,比如年龄禁止设定值负数,而字段则不能进行这样的设置。



作者: loveywj    时间: 2014-1-18 16:44
本帖最后由 loveywj 于 2014-1-18 16:49 编辑

复制代码


作者: loveywj    时间: 2014-1-18 16:51
本帖最后由 loveywj 于 2014-1-18 16:57 编辑

属性既有封装性,又可以进行合法性的检查还符合变量的使用习惯。
每个属性背后都对应着一个变量。一般跟变量名同名。但是要区分大小写。

        private int age;//字段
        private string name;                 public string Name  //属性
        {
          get{ return name;}
          set{ name=value;}
        }
         //写一个属性来判断age 的合法性。
        public int Age     
        {
            get
            {
                return age;
            }
            set
            {
                if (value <= 0)
                    age = 0;
                else age = value;
            }
        }








欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2