您的位置:首页 > 其它

如何修改和访问方法中受保护的实例变量

2015-11-07 15:44 337 查看
1.实例变量的可见度有三种.

公共的(public) 实例变量可以在类的内部和外部操作。

受保护的(protected)实例变量只能在该类的内部及其子类中进行操作

私有的(private)实例变量只能在该类的内部操作。

2.修改方法中受保护的实例变量

首先在.m中实现赋值的方法,对实例变量进行赋值,实例变量对象 = 方法中的参数名,然后可以调用此方方法传入参数。

.m中

- (void)fixgAge:(int)age withweight:(int)weight andheight:(int)height{

_age = age;

_weight = weight;

_height = height;

}

.main中

Person *x = [[Person alloc] init];

[x fixgAge:18 withweight:45 andheight:160];

3.使用set和get方法访问

setter 和 getter 方法

在OC里为实例变量赋值的方法为称作 (设置器 )setter.

读取实际变量的方法被称做 (访问器) getter.

setter 的书写格式:- (void)setAge:(int)age;即set加上首字母大写的实例变量名(忽略下划线)

getter 的书写格式:- (int)age;即返回值类型与变量类型一致,方法名与实例变量名相同(忽略下划线)

.h中

- (void)setName:(NSString *)name;

- (NSString *)name;

.m中

- (void)setName:(NSString *)name{

_name = name;

}

- (NSString *)name{

return _name;

}

4. OC中方法分为两种

.类方法 : 类方法只能类去使用,例如 + (id)alloc;类方法中不能使用实例变量

.实例方法 :只能对象使用,例如 — (void)hello;

- (void)replaceObjectAtIndex:(NSUInteger无符号整型)index withObject:(id)anObject;

( “-” 方法类型标识符)

((void)方法返回值类型)

(repalaceObjectAtIndex:withObject: 方法名)

((NSUInteger),(id) 都是参数类型)

((index)(anObject))参数名字。

方法名是:

删除了类标识符,返回值类型,参数类型,参数名,空格后剩下的就是方法名

类中不能出现同名方法

“:”标识参数,不能省略。有冒号必须有参数

5.#import #include @class的区别

导入头文件,即导入头文件中的内容到当前类

#import "" 导入自定义类,#import <> 导入类库中的头文件。功能类似C语言的include,但是可以避免头文件被重复导入。#import 容易出现循环导入头文件问题。

@class:告诉编译器@class后的字符串作为类名使用,并未导入类的接口内容。

有效避免嵌套循环导入。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: