黑马程序员技术交流社区

标题: 有关类中字段和属性问题 [打印本页]

作者: 迷你卡卡    时间: 2013-9-29 22:02
标题: 有关类中字段和属性问题
本帖最后由 迷你卡卡 于 2013-9-29 22:46 编辑

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

作者: 陈行    时间: 2013-9-29 22:32
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   这就是属性和字段的关系
作者: 1771136984    时间: 2013-9-29 22:33
这里应该是两个方法吧 属于类的内联函数
作者: 迷你卡卡    时间: 2013-9-29 22:45
陈行 发表于 2013-9-29 22:32
get  set是2个方法  分别是对属性读值赋值触发   在一个类中为了限制字段赋值读值 而有了属性的概念  下面 ...

果然是大神呢,版主的回答就是让人豁然开朗,清晰易懂!{:soso_e100:}





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