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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 迷你卡卡 中级黑马   /  2013-9-29 22:02  /  1625 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 迷你卡卡 于 2013-9-29 22:46 编辑

在类中,字段一般都用private修饰,属性就是对类的封装,
例如
public class Person
{
      private int _age;
      public   int Age{get;set}
}
一直都不是很明白,这里的get,set到底是怎么个意思,这属性是对字段的封装到底应该怎么理解,这两个概念到底在实际用到时,具体是怎样的?
求大神指导。

评分

参与人数 1技术分 +1 收起 理由
haxyek + 1

查看全部评分

3 个回复

倒序浏览
get  set是2个方法  分别是对属性读值赋值触发   在一个类中为了限制字段赋值读值 而有了属性的概念  下面上例子:
    class  person
{
int age;
public int Age
{
set{if(value<0  {age=18 })  }//在赋值时怕赋值非法  因为没有人负岁数
get{ return  age}
}
}

你说的属性  public  int Age{get;set}  这里把getset方法 简写了  其实是get{return age} set{age=value}

总体就是说属性保护字段  因为字段修饰符是private   这就是属性和字段的关系

评分

参与人数 1技术分 +1 收起 理由
haxyek + 1

查看全部评分

回复 使用道具 举报
这里应该是两个方法吧 属于类的内联函数
回复 使用道具 举报
陈行 发表于 2013-9-29 22:32
get  set是2个方法  分别是对属性读值赋值触发   在一个类中为了限制字段赋值读值 而有了属性的概念  下面 ...

果然是大神呢,版主的回答就是让人豁然开朗,清晰易懂!{:soso_e100:}
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马