黑马程序员技术交流社区

标题: get和set 属性?????? [打印本页]

作者: 黑马姜硕    时间: 2011-12-16 17:13
标题: get和set 属性??????
本帖最后由 黑马姜硕 于 2011-12-16 20:47 编辑

get和set 属性到底怎么保护私有变量了 不是很理解 为什么要用这个两个属性 还有为什么他们没有小括号()只有大括号 别的方法都有小括号和大括号还是不能省略的???
作者: 董伟    时间: 2011-12-16 17:49
GET和SET只是对属性进行封装的2个关键字,是对属性值进行读写操作的工具而已。你可以理解成方法,
但是至于为什么没有小括号那就不需要去研究了,因为这是语法。
作者: 黑马——兰雷明    时间: 2011-12-16 17:53
属性的访问器包含与获取(读取或计算)或设置(写)属性有关的可执行语句。访问器声明可以包含 get 访问器或 set 访问器,或者两者均包含!
      get 访问器体与方法体相似。它必须返回属性类型的值。执行 get 访问器相当于读取字段的值。当引用属性时,除非该属性为赋值目标,否则将调用 get 访问器读取该属性的值。
     set 访问器与返回 void 的方法类似。它使用称为 value 的隐式参数,此参数的类型是属性的类型。  当对属性赋值时,用提供新值的参数调用 set 访问器
作者: 李荣壮    时间: 2011-12-16 19:35
get与set, 为系统封装的, 如果没有特殊要求也可以省略不写
保护私有变量的方法:
可以通过只写get来达到只读的效果,只写set达到只写的效果
也可以通过判断条件来实现,比如:
set
{
   if(字段>0)
       value=5;
}// 只有字段(也就是私有变量)大于0的时候,才为他赋值
get的写法也跟set差不多的,自己研究下

get,set不是方法, 虽然我们可以用方法也能实现这种功能, 所以是没有小括号的
作者: 黑马姜硕    时间: 2011-12-16 20:47
{:soso_e179:}




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