黑馬程式設計師 OC學習之方法

2021-07-03 14:30:44 字數 1385 閱讀 1070

方法是類的行為,寫在介面和實現兩個檔案中。在介面部分宣告方法,在實現部分實現方法。

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.主標頭...