-對象方法
+類方法
調(diào)用對象方法必須先創(chuàng)建對象录肯,在通過對象來調(diào)用永罚。
類方法不依賴對象悯森,使用對象名直接調(diào)用荐糜。
類方法特點(diǎn):
1.節(jié)約空間巷怜,因?yàn)檎{(diào)用類方法不需要?jiǎng)?chuàng)建對象
2.提高效率
類方法不可以直接訪問屬性
屬性是在對象創(chuàng)建的時(shí)候,跟著對象一起創(chuàng)建在對象之中的
類第一次被訪問的時(shí)候暴氏,會做類加載延塑,把類的代碼存儲在代碼段中
但是我們可以在類方法中創(chuàng)建一個(gè)對象,訪問這個(gè)對象的屬性是沒問題的答渔。
在類方法當(dāng)中也不可以使用self直接調(diào)用當(dāng)前類的其他對象方法关带。
在對象方法中可以調(diào)用類方法
什么時(shí)候可以將方法定義為類方法?
1.如果方法不需要直接訪問屬性研儒,也不需要直接調(diào)用其他對象方法
類方法的規(guī)范
1.如果我們寫一個(gè)類豫缨,那么就要求為這個(gè)類提供1個(gè)和類名同名的類方法,這個(gè)方法創(chuàng)建1個(gè)最純潔的對象返回端朵。
如Person類
+ (Person
*)person
{
Person *p1 = [Person new];
}
所以創(chuàng)建對象時(shí)可以用
Person *p1 =[Person new];
也可以用
Person *p1 =[Person person]燃箭;