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