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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 池莉娘子 中级黑马   /  2015-6-28 15:56  /  1042 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

我们知道将类的成员变量设置为public属性时,外界是可以通过指针来访问和修改成员变量的值。但是有的时候我们不这么做,因为你无法判断外界传进来的值是不是符合要求,因此我们需要提供一个方法给外界,不但能实现访问和修改成员变量的值,我们还能过滤不合理的操作,这就是封装的作用。
1 封装的set方法
       set方法就是用来给成员变量赋值的方法。
命名规范:方法名必须以set开头,set后面跟上成员变量的名称,变量名称的首字母必须大写
set方法的声明
   - (void)setSpeed:(int)speed;
从上面的例子也能看出,此方法不需要返回值,但是一定有参数,参数类型和要赋值的成员变量一样,形参名不和成员变量名一样(成员变量命名一般以下划线开头)。
方法的实现:
- (void)setSpeed:(int)speed
{
          _speed=speed;       //将传进来的值赋给成员变量 _speed,通过方法来赋值,而不是以指针的方式来间接操作
}
2 封装的get方法
        get方法是获取成员变量的值的方法。
命名规范:方法名和成员变量名一样,这样方便于知道获取的是那个变量
get方法的声明
   - (int)speed;
由此我们可以看出:get方法一定有返回值,返回值类型和成员变量一样;不需要参数
get方法的实现
   - (int)speed
{
            return _speed;
}
封装的好处就是保护成员变量

7 个回复

倒序浏览
看了一下,挺好的
回复 使用道具 举报
学习学习!
回复 使用道具 举报
还没进行到这...加油
回复 使用道具 举报
学习学习,come on
回复 使用道具 举报
沙睿 来自手机 中级黑马 2015-6-29 21:52:18
地板
学习了.................
回复 使用道具 举报
楼主写的不错 学习了
回复 使用道具 举报
好贴啊收藏
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马