1.應用場景:
1)用在類方法裡
2)用在物件方法裡
3)訪問成員變數
4)self在oc的記憶體管理特殊使用
2.在物件方法裡的使用:指定的是當前物件
1)我們先建立乙個person類,裡面有兩個方法不帶引數的run 與帶引數的eat 方法
然後呼叫run 方法
@inte***ce
person :nsobject{
}-(void) run;
-(void) eat:(nsstring *) footname;
@end
@implementation
person
-(void) run
-(void) eat:(nsstring *) footname
@end
2)在主類裡使用person類
首先的引入標頭檔案,然後在主函式裡建立物件,呼叫eat方法就能實現呼叫run方法
#import
"person.h"
int main(int argc, const
char * argv)
return
0;}
3.在類方法裡的使用:指定的是當前類
1)我們先建立乙個person類,裡面有兩個方法不帶引數的walk與帶引數的take方法
然後呼叫walk方法
@inte***ce
person :nsobject{
}+(void)walk;
+(void)take:(nsstring*) footname;
@end
@implementation
person
+(void)walk
+(void)take:(nsstring*) footname
@end
2)在主類裡使用person類
首先的引入標頭檔案,然後在主函式裡建立物件,呼叫eat方法就能實現呼叫run方法
#import
"person.h"
int main(int argc, const
char * argv)
return
0;}
4.self修飾變數
1)我們先建立乙個person類,建立set與get方法
@inte***ce
person : nsobject
-(void) setweight:(int) weight;
-(int) getweight;
@end
@implementation
person
//在此處使用self
-(void) setweight:(int) weight
-(int) getweight
@end
2)在主類裡使用person類
#import
"person.h"
int main(int argc, const
char * argv)
return
0;}
5.總結:
誰呼叫self就代表誰
OC中self和super的使用
1 self用在物件方法中,self指代的是呼叫當前方法的那個物件,可以呼叫其它物件方法。2 self用在類方法中,self指代的是當前類,可以呼叫其它類方法,不可以呼叫物件方法。3 self修飾例項變數 一般在set方法中使用 用在形參變數和例項變數同名時。例 void setspeed int ...
python中的 self 應用
x 6 class a def sing self self.x 10 def mutl self y 10 x print y a a a.mutl 結果是 60 先弄清 mutl 中的 x 到底是哪乙個?為什麼不呼叫類內部的 x 引數而跑去呼叫類外的 x 呢?self 到底指代的是誰,self ...
在OC中,super和self的用法
super 指代的是父類物件 super bark 呼叫了父類的bark方法 1 self用在物件方法中,self指代的是呼叫當前方法的那個物件,可以呼叫其它物件方法。2 self用在類方法中,self指代的是當前類,可以呼叫其它類方法,不可以呼叫物件方法。3 self修飾例項變數 一般在set方法...