标签:objective-c 成员变量 静态变量 可见性
之前在学习C++,或者java的时候,都会遇到一个可见性的问题,这篇文章我们来讨论声明的成员变量对对象方法(减号方法)和类方法(加号方法)的可见性问题。
(一)代码一:成员变量对减号方法可见,对加号方法不可见。
在People.m中声明一个成员变量:NSString *_peopleName;然后发现可以在减号方法中访问该变量,在加号方法中不可以访问该变量。
-(void)ObjectShow{ NSLog(@"我是对象方法"); _peopleName=@"成员变量";//这里可以访问到成员变量; }
+(void)ClassShow{ NSLog(@"我是类方法"); //在这里不能访问_peopleName; }
在People.m中使用static(学过java的人很熟悉)关键字声明一个静态变量:static NSString *_peopleName2;然后可以发现同时可以在减号方法和加号方法中访问该静态变量。
-(void)ObjectShow{ NSLog(@"我是对象方法"); _peopleName2=@"Jack";//对象方法中访问到了静态变量; } +(void)ClassShow{ NSLog(@"我是类方法"); _peopleName2=@"Mike";//类方法中访问到了静态变量; }
版权声明:本文为博主原创文章,未经博主允许不得转载。
Objective-C学习笔记(二十)——成员变量对对象方法与类方法的可见性分析
标签:objective-c 成员变量 静态变量 可见性
原文地址:http://blog.csdn.net/chenyufeng1991/article/details/47036897