【好程序员训练营】Objective-C学习笔记----------成员变量和成员函数的封装

<A href="http://www.goodprogrammer.org/" target="blank">ios培训</A>------我的OC语言笔记,期待与您交流!

  前言--在我们开发项目的过程中,很多时候我们不想程序里面的成员变量或者成员函数暴露出来,我们只希望别人通过一些方法来调用这些变量或者函数,

这时就需要用到成员变量和成员函数的封装

  

  一、成员变量的封装

@interface Person:NSObject{
@private
    int age;
 NSString *name;            //定义一个成员变量name
}
-(id)init;
-(void)setname:(NSString *)newname;
@end

@implementation Person

-(void)setname:(NSString *)newname{      //将name封装到setname这个函数中
    name = newname;
}

 

在上面的这段代码中,我们定义了一个引用类型的成员变量name,用setname这个函数进行封装过后就可以用setname:这个函数直接操作name了,否则我们就需要用obj->name = @"...";;来进行操作,这样成员变量就暴露在外面了。

 

  二、成员函数的封装

@interface Person:NSObject{
@private
    int age;
    NSString *name;
}
-(void)setname:(NSString *)newname;
-(void)setage:(int)newage;
-(void)setname:(NSString *)newname age:(int)newage;
@end

@implementation Person

-(void)setname:(NSString *)newname{             //函数一
    name = newname;
}
-(void)setage:(int)newage{                             //函数二
    age = newage;
}
-(void)setname:(NSString *)newname age:(int)newage{         //函数三
    [self setname:newname];            //将函数setname:调了进来
    [self setage:newage];              //将函数setage:调了进来
}

上面的这段代码中,函数一和函数二分别封装了name和age这两个成员变量,函数三将函数二封装了起来,我们可以直接赋给函数三参数来操作age和name这两个成员变量。

 

posted on 2015-05-30 19:47  LincLiu  阅读(544)  评论(0编辑  收藏  举报

导航