美文网首页
Objective-Csetter和getter方法

Objective-Csetter和getter方法

作者: ysweiwei | 来源:发表于2017-07-29 14:44 被阅读0次

    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);
    

    相关文章

      网友评论

          本文标题:Objective-Csetter和getter方法

          本文链接:https://www.haomeiwen.com/subject/bhfclxtx.html