iOS 實(shí)例對(duì)象诬像,類對(duì)象,元類對(duì)象的關(guān)聯(lián)---isa/superclass指針(2)

一.isa指針

  • 上篇文章我們提到了實(shí)例對(duì)象芍躏,類對(duì)象和元類對(duì)象的存儲(chǔ)結(jié)構(gòu)里面都包含了一個(gè)isa指針降狠,今天我們來(lái)看看它的作用,以及實(shí)例對(duì)象類對(duì)象元類對(duì)象之間的關(guān)聯(lián)

復(fù)習(xí)
  • 實(shí)例對(duì)象的isa指針

    • 當(dāng)實(shí)例對(duì)象(instance)調(diào)用對(duì)象方法的時(shí)候否纬,實(shí)例對(duì)象的isa指針指向類對(duì)象(class)蛋褥,在類對(duì)象中烙心,查找對(duì)象方法并調(diào)用
  • 類對(duì)象的isa指針

    • 類對(duì)象(class)的isa指針指向元類對(duì)象(meta-class),當(dāng)調(diào)用類方法時(shí)淫茵,類對(duì)象的isa指針指向元類對(duì)象痘昌,并在元類里面找到類方法并調(diào)用


      指向關(guān)系

二.類對(duì)象的superclass 指針

  • 先兩個(gè)類,一個(gè)Person繼承自NSObject算灸,一個(gè)類繼承自Person
/// Person繼承自NSObject
@interface Person : NSObject
-(void)perMethod;
+(void)perEat;
@end

@implementation Person

-(void)perMethod{
    
}
+(void)perEat{
    
}

@end



/// student繼承自Person
@interface Student : Person
-(void)StudentMethod;
+(void)StudentEat;
@end
@implementation Student

-(void)StudentMethod{
    
}
+(void)StudentEat{
    
}

  • 當(dāng)實(shí)例對(duì)象調(diào)用自身的對(duì)象方法時(shí)驻啤,它在自身的class對(duì)象中找到StudentMethod方法
        Student *student = [[Student alloc]init];
        [student StudentMethod]
  • 當(dāng)實(shí)例對(duì)象調(diào)用父類的方法的時(shí)候
        Student *student = [[Student alloc]init];
        [student perMethod];
superclass指向

當(dāng)子類調(diào)用父類的實(shí)例方法的時(shí)候骑冗,子類的class類對(duì)象的superclass指針指向父類,直至基類(NSObject)找到方法并執(zhí)行(注意贼涩,這里指的是實(shí)例方法遥倦,也就是減號(hào)方法)

三.元類對(duì)象的superclass 指針

當(dāng)子類調(diào)用父類的類方法的時(shí)候,子類的superclass指向父類,并查找到相應(yīng)的類方法消略,調(diào)用

[Student perEat];
元類對(duì)象的superclass指針指向
  • 總的來(lái)說(shuō)瞎抛,isa,superclass的的關(guān)系可以用一副經(jīng)典的圖來(lái)表示


    圖片來(lái)源于網(wǎng)絡(luò)

instance的isa指向class

class的isa指向meta-class

meta-class的isa指向基類的meta-class

class的superclass指向父類的class

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市哩照,隨后出現(xiàn)的幾起案子懒浮,更是在濱河造成了極大的恐慌识藤,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,265評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件稽穆,死亡現(xiàn)場(chǎng)離奇詭異赶撰,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)豪娜,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,078評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門瘤载,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人墨技,你說(shuō)我怎么就攤上這事挎狸。” “怎么了锨匆?”我有些...
    開(kāi)封第一講書人閱讀 156,852評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)紊遵。 經(jīng)常有香客問(wèn)我,道長(zhǎng)匀奏,這世上最難降的妖魔是什么学搜? 我笑而不...
    開(kāi)封第一講書人閱讀 56,408評(píng)論 1 283
  • 正文 為了忘掉前任瑞佩,我火速辦了婚禮,結(jié)果婚禮上炬丸,老公的妹妹穿的比我還像新娘。我一直安慰自己焕阿,他們只是感情好首启,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,445評(píng)論 5 384
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著褒纲,像睡著了一般钥飞。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上代承,一...
    開(kāi)封第一講書人閱讀 49,772評(píng)論 1 290
  • 那天论悴,我揣著相機(jī)與錄音,去河邊找鬼膀估。 笑死,一個(gè)胖子當(dāng)著我的面吹牛帕棉,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播香伴,決...
    沈念sama閱讀 38,921評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼具帮!你這毒婦竟也來(lái)了低斋?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書人閱讀 37,688評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤掘猿,失蹤者是張志新(化名)和其女友劉穎唇跨,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體轻绞,經(jīng)...
    沈念sama閱讀 44,130評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡政勃,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,467評(píng)論 2 325
  • 正文 我和宋清朗相戀三年奸远,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了讽挟。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,617評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡薛窥,死狀恐怖眼姐,靈堂內(nèi)的尸體忽然破棺而出诅迷,到底是詐尸還是另有隱情众旗,我是刑警寧澤,帶...
    沈念sama閱讀 34,276評(píng)論 4 329
  • 正文 年R本政府宣布滩租,位于F島的核電站,受9級(jí)特大地震影響猎莲,放射性物質(zhì)發(fā)生泄漏技即。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,882評(píng)論 3 312
  • 文/蒙蒙 一郭脂、第九天 我趴在偏房一處隱蔽的房頂上張望澈歉。 院中可真熱鬧,春花似錦埃难、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 30,740評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至疯兼,卻和暖如春贫途,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背丢早。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 31,967評(píng)論 1 265
  • 我被黑心中介騙來(lái)泰國(guó)打工怨酝, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人凫碌。 一個(gè)月前我還...
    沈念sama閱讀 46,315評(píng)論 2 360
  • 正文 我出身青樓盛险,卻偏偏與公主長(zhǎng)得像勋又,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子楔壤,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,486評(píng)論 2 348