A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 王忠杰 中级黑马   /  2014-1-18 14:01  /  945 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

属性和字段有什么区别,最好给个代码

评分

参与人数 1技术分 +1 收起 理由
茹化肖 + 1

查看全部评分

3 个回复

倒序浏览
属性可以 对设值、取值的 过程进行非法值控制,比如年龄禁止设定值负数,而字段则不能进行这样的设置。


评分

参与人数 1技术分 +1 收起 理由
茹化肖 + 1

查看全部评分

回复 使用道具 举报
本帖最后由 loveywj 于 2014-1-18 16:49 编辑

复制代码

回复 使用道具 举报
本帖最后由 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;
            }
        }



评分

参与人数 1技术分 +1 收起 理由
茹化肖 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马