Objective-Csetter和getter方法
2017-07-29 本文已影响0人
ysweiwei
setter和getter方法
在OC里,为单一实例变量赋值的方法称作setter(设置器)。
获取单一实例变量值的方法称作getter(访问器)。
OC中规定了setter和getter的书写格式。比如:实例变量 NSInteger _age;setter的书写格式如下:
- (void)setAge:(NSInteger)age;
即set+首字母大写的实例变量名(忽略下划线)。
getter的书写格式如下:- (NSInteger)age;
即返回值类型与变量类型一致,方法名与实例变量名相同(忽略下划线)
setter和getter与实例变量的关系
无论setter还是getter内部操作的是实例变量。
每一个实例变量都需要一对setter和getter方法。
下面我们来创建一个Person 类,用get和set方法来写
第一步在.h文件中对外声明类的特征和属性以及get,set方法
@interface Person : NSObject
{
NSString * _name;
NSInteger _age;
NSString *_sex;
}
-(void)setName:(NSString *)name;
-(NSString *)name;
-(void)setAge:(NSInteger)age;
-(NSInteger)age;
-(void)setSex:(NSString *)sex;
-(NSString *)sex;
@end
第二步在.m文件中进行get,set方法的具体实现
-(void)setName:(NSString *)name{
_name = name;
}
-(NSString *)name{
return _name;
}
-(void)setAge:(NSInteger)age{
_age =age;
}
-(NSInteger)age{
return _age;
}
-(void)setSex:(NSString *)sex{
_sex = sex;
}
-(NSString *)sex{
return _sex;
}
第三步在mian.m文件中初始化一个 Person对象
Person *person= [[Person alloc]init];
person.name = @"lili";
person.age = 23;
NSLog(@"name:%@,age:%ld",person.name,person.age);