OC學習心得之方法

2021-07-07 05:18:59 字數 1526 閱讀 5437



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

1、類方法與例項方法

objective-c中的類可以宣告兩種型別的方法:例項方法和類方法。例項方法就是乙個方法,它在類的乙個具體例項的範圍內執行。也就是說,在你呼叫乙個例項方法前,你必須首先建立類的乙個例項。而類方法,比較起來,也就是說,不需要你建立乙個例項。

+表示類方法,就是類呼叫方法,不依賴與任何物件的方法,類似於c語言的static關鍵字 static函式。-表示是例項(物件)方法,只能是物件可呼叫,依賴與任何物件的方法。

總結一下幾點:

(1)類(static)方法(便利構造器)

a. 類方法的呼叫

[類名稱 類方法名稱];

這裡需要注意:

1、類方法可以呼叫類方法。

2、類方法不可以呼叫例項方法,但是類方法可以通過建立物件來訪問例項方法。

3、類方法不可以使用例項變數。類方法可以使用self,因為self不是例項變數。

4、類方法作為訊息,可以被傳送到類或者物件裡面去(實際上,就是可以通過類或者物件呼叫類方法的意思)。

(2)例項方法

a.例項方法的呼叫

首先需要例項化該類

例如:human *man = [human alloc] init];

[類的例項  例項方法名稱];

例如:[man show***]; 

注意:此處例項化該類時,呼叫了該類的建構函式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;//不是空就繼續使用

}@end

注意:所謂單例,即我們自己建立乙個單例類,該類只能生成唯一的物件,為了防止該物件被複製(copy)或者retain 和 release 等操作,我們必須在所建立的單例的實現檔案( .m 檔案)中將父類的這些方法給覆蓋,該目的是為了保證單例模式的乙個嚴謹性。

2015/11/15

OC學習心得(一)

一 objective c 的介紹 objective c是 c語言的乙個擴充套件集。objective c是c 以c語言為基礎,可以實現面向程式設計,並提供了針對 ios開發的大量類庫。一般使用蘋果公司的xode 工具來編寫程式。xcode的.m 副檔名表示檔案含有 objective c 應由 ...

Java學習心得之方法過載

一 方法過載 概念 在同乙個類中,存在多個方法名相同,引數列表不同的方法 包括型別和數量 public class person private string print string name protected int print int age void print string name,i...

學習心得 python學習心得

自從來了深圳工作以後,尤其是屢屢面試碰壁以後。發現其實自己的知識面很窄,做筆試題的時候絞盡腦汁還是漏洞百出,並不是不會做,而是出現一大堆不該有的失誤。每次被問道,對資料庫了解嗎?說一大堆看起來很高階的東西 好啊,那我們寫幾個sql語句吧。馬上完蛋了,沒了手冊關鍵字都記不起。了解哪幾種指令碼語言,sh...