2017-03-16 105 views
0

我有一個類的兩個類別(c1和c2),他們都有相同的方法 - (無效)運行 當我發送消息到這個方法,爲什麼響應者總是c2類? 我認爲他們應該有相同的優先權。兩個類別之間的優先級

+0

您的優先級是什麼意思?你會期望兩種方法都能運行嗎? – Losiowaty

回答

1

班級類別中的方法按照發現順序添加到班級中。具有與現有方法相同名稱(選擇器)的方法將簡單地用早先實現的方法替換爲新找到的方法。

對類別的處理順序沒有保證,所以不要依賴它。

0

最後一類只有一個實現,名稱爲run。這個名字的確切實現取決於編譯器。其他的實現會有一些其他的名字。你可以在運行時查看方法,以瞭解我的意思。