self关键字
1> 使用场合: 适合于OC中所有的方法(对象方法\类方法),不能出现于函数中。
2> 作用:可使用 “ self—>成员变量名 ” 使用当前方法调用的成员变量。
使用“ [ self 方法名 ] ” 来调用方法(对象方法\类方法)。
3> 当成员变量和局部变量重名时,采取就近原则,访问的是当前的局部变量。
访问成员变量时, 注意区分同名的局部变量。
程序示例:
#import <Foundation/Foundation.h>
@interface Dog : NSObject
- ( void ) run ; // 定义对象方法:跑
- ( void )bark ; // 定义对象方法 :叫
@end
@implementation Dog
- ( void ) bark
{
NSLog( @ " 狗叫起来了 " ) ;
}
- ( void ) run
{
[ self bark ] ; // self这时会访问当前对象的方法
NSLog (@ " 狗跑远了 " ) ;
}
@end
int main( )
{
Dog *p = [ Dog new ] ;
[ p run] ; // 执行到这一步指针先访问对象的run方法,再在run里面访问bark 输出为:狗叫起来了
狗跑远了
return 0 ;
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) | 黑马程序员IT技术论坛 X3.2 |