------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
self 关键字
/*
self 是指针: 指向了方法调用者,代表着当前对象(方法调用者)
谁调用了当前方法, self代表谁
* self出现在对象方法中,self就代表对象
* self出现在类方法中,self就代表类
1> 可以利用 self ->成员变量名访问当前对象内部的成员变量
2> [self 方法名];可以调用其他方法/类方法
//
*/
#import <Foundation/Foundation.h>
@interface Person : NSObject
{
float _weight;
}
-(void)eat;
-(void)run;
+(void)test;
+(void)eat;
@end
@implementation Person
-(void)eat{
_weight += 100; //
NSLog(@"人在吃东西,weight:%.2f",_weight);
[self run];
}
-(void)run{
_weight -=10;
NSLog(@"人在疯跑,weight:%.2f",_weight);
}
+(void)test{
// self 在类方法中的使用 self ----->Person
NSLog(@"+test ---->self:%@",self);
[self eat]; //调用的时 eat的类方法
}
+(void)eat{
NSLog(@"+eat");
}
@end
int main(int argc, const char * argv[]) {
@autoreleasepool {
// insert code here...
Person *p = [Person new];
[p eat];
[Person test];
}
return 0;
}