1:self是類的隱藏的參數(shù),指向當(dāng)前調(diào)用方法的類,另一個隱藏參數(shù)是_cmd,代表當(dāng)前類方法的selector。 2:super并不是隱藏的參數(shù),它只是一個"編譯器指示符",它和self指向的是相同的消息接受者 3:當(dāng)使用self調(diào)用方法時,會從當(dāng)前類的方法列表中開始尋找,如果沒有,就從父類中再找,而使用super時,則從父類的方法列表中開始找,然后調(diào)用父類的這個方法 具體看代碼實現(xiàn)方法(詳細(xì)看代碼中的注釋) 一:看PersonSelf.h聲明文件 // // PersonSelf.h // PersonSelf // // Created by hmjiangqq on 14-1-22. // Copyright (c) 2014年 hmjiangqq. All rights reserved. // #import <Foundation/Foundation.h> @class Student; //@class一般用在頭文件中 @interface PersonSelf : NSObject { //聲明兩個實例變量 int age; NSString * name; Student *s; } //定義方法 -(NSString *) getName; -(void) setName:(NSString *)_name; -(int) getAge; -(void)setAge:(int)_age; @end二:PersonSelf.m實現(xiàn)文件 // // PersonSelf.m // PersonSelf // // Created by hmjiangqq on 14-1-22. // Copyright (c) 2014年 hmjiangqq. All rights reserved. // #import "PersonSelf.h" #import "Student.h" //#import一般使用在實現(xiàn)文件中 @implementation PersonSelf -(id)init{ if(self=[super init]){ //super可以調(diào)用父類中的方法 s=[[Student alloc]init]; NSLog(@"student:%@\n",s); } return self; } -(NSString *) getName{ return name; } -(void) setName:(NSString *)_name{ name=_name; [self setAge:14];//self可以去調(diào)用本類對象中的方法 NSLog(@"setAge"); NSLog(@"self class is: %@\n",[self class]); NSLog(@"super class is: %@\n",[super superclass]); } -(int) getAge{ return age; } -(void)setAge:(int)_age{ age=_age; } @end 另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
文章題目:【Objective-C】OC中對象創(chuàng)建,self,super的詳解-創(chuàng)新互聯(lián)
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開發(fā)、網(wǎng)站設(shè)計、網(wǎng)站制作、外貿(mào)建站、網(wǎng)頁設(shè)計公司、網(wǎng)站維護(hù) 聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:[email protected]。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián) 猜你還喜歡下面的內(nèi)容 ![]()
|