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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 黑马姜硕 黑马帝   /  2011-12-16 17:13  /  2336 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 黑马姜硕 于 2011-12-16 20:47 编辑

get和set 属性到底怎么保护私有变量了 不是很理解 为什么要用这个两个属性 还有为什么他们没有小括号()只有大括号 别的方法都有小括号和大括号还是不能省略的???

评分

参与人数 1技术分 +2 收起 理由
李荣壮 + 2

查看全部评分

4 个回复

正序浏览
{:soso_e179:}
回复 使用道具 举报
get与set, 为系统封装的, 如果没有特殊要求也可以省略不写
保护私有变量的方法:
可以通过只写get来达到只读的效果,只写set达到只写的效果
也可以通过判断条件来实现,比如:
set
{
   if(字段>0)
       value=5;
}// 只有字段(也就是私有变量)大于0的时候,才为他赋值
get的写法也跟set差不多的,自己研究下

get,set不是方法, 虽然我们可以用方法也能实现这种功能, 所以是没有小括号的
回复 使用道具 举报
属性的访问器包含与获取(读取或计算)或设置(写)属性有关的可执行语句。访问器声明可以包含 get 访问器或 set 访问器,或者两者均包含!
      get 访问器体与方法体相似。它必须返回属性类型的值。执行 get 访问器相当于读取字段的值。当引用属性时,除非该属性为赋值目标,否则将调用 get 访问器读取该属性的值。
     set 访问器与返回 void 的方法类似。它使用称为 value 的隐式参数,此参数的类型是属性的类型。  当对属性赋值时,用提供新值的参数调用 set 访问器

评分

参与人数 1技术分 +2 收起 理由
李荣壮 + 2

查看全部评分

回复 使用道具 举报
董伟 黑马帝 2011-12-16 17:49:40
沙发
GET和SET只是对属性进行封装的2个关键字,是对属性值进行读写操作的工具而已。你可以理解成方法,
但是至于为什么没有小括号那就不需要去研究了,因为这是语法。

评分

参与人数 1技术分 +2 收起 理由
李荣壮 + 2

查看全部评分

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