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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© x65396731 中级黑马   /  2014-8-1 15:42  /  1830 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 x65396731 于 2014-8-1 15:49 编辑

  既然成员变量已经被禁止修改了,为什么还可以通过set get方法来赋值呢?
谢谢了

7 个回复

倒序浏览
我视频刚学到OC的内存管理,

你的问题好抽象  禁止修改是什么意思?
回复 使用道具 举报
Jr_711 发表于 2014-8-1 16:17
我视频刚学到OC的内存管理,

你的问题好抽象  禁止修改是什么意思?

还是不懂啊
回复 使用道具 举报
成员变量, 变量的值是可以修改的,  常量的值才是固定的. set与get是主要让外界可以去修改类的属性. 不是很明白楼主你的意思.
回复 使用道具 举报
没有禁止的说法吧,好像自有私有的说法,
回复 使用道具 举报
单独成员变量没有getter 和setter 的时候,默认是受保护的,受保护能够让类内和子类的方法(即C语言的函数)内部都能拿到并且修改成员变量的值。
如果要在别的类中看得见 这个类中成员变量,那么就要通过getter 和setter方法。
成员变量 之所以是成员变量?是为了让类内访问,类外访问的是方法和属性。何为属性呢?就是成员变量通过@property这个关键字系统自动赋予了getter和setter ,这样类外如果想要访问成员变量,取值就通过getter 返回值给你,赋值就setter,传进去我就修改成员变量内部的值。
这回能理解几份了吧!
回复 使用道具 举报
zhs 中级黑马 2014-8-4 14:33:31
7#
set和get方法的主要作用为不让外界直接访问和直接修改,而不是彻底禁止访问和修改。
之前为用对象直接访问和修改,现在的调用set和get方法间接访问和修改
回复 使用道具 举报
get set不是成员变量那样只是简单的赋值,提供的是一个方法,里面可以有其他的运算。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马