天天看點

ios開發中類方法和執行個體方法self差別

Objective-C裡面既有執行個體方法也類方法。類方法(Class Method) 有時被稱為工廠方法(Factory Method)或者友善方法(Convenience method)。工廠方法的稱謂明顯和一般意義上的工廠方法不同,從本質上來說,類方法可以獨立于對象而執行,是以在其他的語言裡面類方法有的時候被稱為靜态方法。

注意點一:類方法

1,類方法可以調用類方法。

2,類方法不可以調用執行個體方法,但是類方法可以通過建立對象來通路執行個體方法。

3,類方法不可以使用執行個體變量。類方法可以使用self,因為self不是執行個體變量。

4,類方法作為消息,可以被發送到類或者對象裡面去(實際上,就是可以通過類或者對象調用類方法的意思)。

注意點二:self的規則

大家需要記住下面的規則:

1,執行個體方法裡面的self,是對象的首位址。

2,類方法裡面的self,是Class.

盡管在同一個類裡面的使用self,但是self卻有着不同的解讀。在類方法裡面的self,可以翻譯成class self;在執行個體方

法裡面的self,應該被翻譯成為object self。在類方法裡面的self和執行個體方法裡面的self有着本質上的不同,盡管他們的

名字都叫self。