iOS學習心得之 -- 方法鏈的尋找模型

子類 Student 父類 SubClass
父類包含一個實例函數 subClassMethod

Student *stu = [[Student alloc] init];
[stu subClassMethod];

看似一個非常簡單的問題,子類繼承了父類,當然可以調用父類的方法了。
但是,到底是在類和類之間的關系,內存存儲關系上,子類到底是如何找到父類的方法的?

關鍵是通過子類的實例對象的 _isa 指針,找到子類的類對象,然后在子類的類對象里通過 _isa 指針,找到父類類對象,從而找到從父類繼承過來的方法。

ps : _isa 指針 全程是 is a
在面向對象里,子類在類型上 is a 父類。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 轉至元數據結尾創建: 董瀟偉,最新修改于: 十二月 23, 2016 轉至元數據起始第一章:isa和Class一....
    40c0490e5268閱讀 1,788評論 0 9
  • __block和__weak修飾符的區別其實是挺明顯的:1.__block不管是ARC還是MRC模式下都可以使用,...
    LZM輪回閱讀 3,374評論 0 6
  • Installing Pythoncs109/content All the labs and assignmen...
    hzyido閱讀 741評論 0 1
  • 親愛的讀者朋友,薛老師要向你們說聲抱歉,這幾天在忙別的事情,對《超級記憶》點評的這件事放了一段時間。不過現在好了,...
    彈劍唱陽春閱讀 560評論 0 1
  • 對于一個內心很小女人的我來說今天是個適合收禮物的日子。 小朋友對昨天的防疫針竟然有了反映,半夜開始發燒,起來給清了...
    渦孩緹閱讀 194評論 0 0