setter和getter方法
在OC里,為單一實(shí)例變量賦值的方法稱作setter(設(shè)置器)。
獲取單一實(shí)例變量值的方法稱作getter(訪問器)。
OC中規(guī)定了setter和getter的書寫格式。比如:實(shí)例變量 NSInteger _age;setter的書寫格式如下:
- (void)setAge:(NSInteger)age;
即set+首字母大寫的實(shí)例變量名(忽略下劃線)。
getter的書寫格式如下:- (NSInteger)age;
即返回值類型與變量類型一致,方法名與實(shí)例變量名相同(忽略下劃線)
setter和getter與實(shí)例變量的關(guān)系
無論setter還是getter內(nèi)部操作的是實(shí)例變量。
每一個(gè)實(shí)例變量都需要一對setter和getter方法。
下面我們來創(chuàng)建一個(gè)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文件中進(jìn)行g(shù)et,set方法的具體實(shí)現(xiàn)
-(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文件中初始化一個(gè) Person對象
Person *person= [[Person alloc]init];
person.name = @"lili";
person.age = 23;
NSLog(@"name:%@,age:%ld",person.name,person.age);
