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);
上一篇下一篇

猜你喜欢

热点阅读