self是一個指針,用在方法中時,哪一個對象調用該方法self指針就指向哪一個對象,能夠把它看成調用該方法的那個對象的指針同樣使用。spa
#import<Foundation/Foundation.h>.net
/*指針
self的用途:對象
(1)誰調用了當前方法,self就表明誰get
* self出如今對象方法中,self就表明對象io
* self出如今類方法中,self就表明類class
(2)在對象方法利用"self->成員變量名"訪問當前對象內部的成員變量test
(3) [self 方法名]能夠調用其餘對象方法\類方法import
*/變量
@interfacePerson : NSObject
{
int _age;
}
-(void)setAge:(int)age;
-(int)age;
-(void)test;
@implementationPerson
- (void)setAge:(int)age
{
// _age = age;
self->_age =age;
}
-(int)age
{
return self->_age;
}
-(void)test
{
// self:指向了方向調用者,表明着當期對象
int _age = 20;
NSLog(@"Person的年齡是%d歲",self->_age);
}
intmain()
{
Person*p = [Person new];
[p setAge:10];
[p test];
return 0;
}
使用self與super調用方法的區別:
使用self調用方法時,self先從當前類中尋找方法,若是沒有尋找到再去父類中尋找。而super直接在父類中尋找方法。