方法是類的行為,寫在介面和實現兩個檔案中。在介面部分宣告方法,在實現部分實現方法。
1、類方法與例項方法
objective-c中的類可以宣告兩種型別的方法:例項方法和類方法。例項方法就是乙個方法,它在類的乙個具體例項的範圍內執行。也就是說,在你呼叫乙個例項方法前,你必須首先建立類的乙個例項。而類方法,比較起來,也就是說,不需要你建立乙個例項。
+表示類方法,就是類呼叫方法,不依賴與任何物件的方法,類似於c語言的static關鍵字 static函式。-表示是例項(物件)方法,只能是物件可呼叫,依賴與任何物件的方法。
總結一下幾點:
(1)類(static)方法(便利構造器)
a. 類方法的呼叫
[類名稱 類方法名稱];
這裡需要注意:
1、類方法可以呼叫類方法。
2、類方法不可以呼叫例項方法,但是類方法可以通過建立物件來訪問例項方法。
3、類方法不可以使用例項變數。類方法可以使用self,因為self不是例項變數。
4、類方法作為訊息,可以被傳送到類或者物件裡面去(實際上,就是可以通過類或者物件呼叫類方法的意思)。
(2)例項方法
a.例項方法的呼叫
首先需要例項化該類
例如:car* car= [car alloc] init];
[類的例項 例項方法名稱];
例如:[car showinfo];
注意:此處例項化該類時,呼叫了該類的建構函式init,並且該類的構造函式呼叫[super init]的返回值不等於該類的self。
定義子類的例項
woman *wife = [woman alloc] init];
此處例項化該類時,呼叫了該類的建構函式init,並且該類的構造函式呼叫[super init]的返回值 等於該類的self。
2、單例模式
singleton模式,即單例模式。顧名思義,主要用於做應用程式的資源共享控制。實質為,單例是在程式宣告週期裡有且僅有被例項化過一次的類。為確保例項化的唯一,利用類的類(static)方法來生成和訪問物件。至此,我們可以在程式中任何地方訪問類的單例物件,因為只例項化唯一的一次,所以,並不用 alloc、init、autorelease初始化方法。
單例設計模式的要點:
(1) 某個類只能有乙個例項。
(2)他必須自行建立這個物件
(3)必須自行向整個系統提供這個例項;
(4)這個方法必須是乙個靜態類;
例如:
//.m檔案**(記住)
@implementation singleton
static singleton *st;
+(singleton*) instance
return st;//不是空就繼續使用
}
黑馬程式設計師學習筆記 OC之繼承
1 為什麼要使用繼承?假如有乙個類dog和乙個類cat,他們的成員變數都是age weight。方法也都一樣。那麼在兩個類裡面分別定義宣告就很囉嗦,很多東西都是一樣的。我們可以把這些相同的東西提取出來組成乙個類animal,然後使用繼承功能,使dog cat繼承animal類就具備animal的全部...
黑馬程式設計師學習筆記 OC之foundation框架
2 結構體 nsrange表示範圍的結構體。nspoint cgpoint表示座標點的結構體 nssize cgsize表示寬高的結構體 nsrect cgrect表示座標點 寬高的結構體 3 類字串 nsstring 字串類 nsmutablestring 易變字串類 nsarray 陣列類 ns...
黑馬程式設計師 OC基礎
asp.net unity開發 net培訓 期待與您交流!1.import的用途 1 跟 include一樣,拷貝檔案的內容 2 可以自動防止檔案的內容被重複拷貝 2.import nsobjcruntime.h中有nslog函式的宣告,一般用 3.foundation框架標頭檔案的路徑 4.主標頭...