我们知道将类的成员变量设置为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;
}
封装的好处就是保护成员变量 |
|