[Objective-C]里面既有實例方法也類方法。
類方法(Class Method) 有時被稱為工廠方法(Factory Method)或者方便方法(Convenience method)散怖。工廠方法的稱謂明顯和一般意義上的工廠方法不同,從本質上來說脸甘,類方法可以獨立于對象而執(zhí)行偏灿,所以在其他的語言里面類方法有的時候被稱為靜態(tài)方法。
類方法1,類方法可以調用類方法硝桩。2枚荣,類方法不可以調用實例方法,但是類方法可以通過創(chuàng)建對象來訪問實例方法橄妆。3,類方法不可以使用實例變量矢劲。類方法可以使用self,因為self不是實例變量慌随。4,類方法作為消息丸逸,可以被發(fā)送到類或者對象里面去(實際上剃袍,就是可以通過類或者對象調用類方法的意思)。
self的規(guī)則大家需要記住下面的規(guī)則:
1笛园,實例方法里面的self,是對象的首地址埋同。
2棵红,類方法里面的self,是Class.盡管在同一個類里面的使用self逆甜,但是self卻有著不同的解讀。在類方法里面的self咏窿,可以翻譯成class self素征;在實例方法里面的self萝挤,應該被翻譯成為object self怜珍。在類方法里面的self和實例方法里面的self有著本質上的不同,盡管他們的名字都叫self酥泛。
e.g.類方法調用方式如下:
[[self class] zhengze: @"sdfsdfsfd"];
[ViewController zhengze]; //ViewController為類名字