Objective_C學習筆記(2)類的使用學習概要

一、類的聲明、實現以及使用文件相分離。

與java中類相比較,Objective-C中類分爲三部分:
interface聲明部分,
implementation定義部分,
使用部分。在大型的程序文件中,應該遵循使程序的聲明、實現文件以及其使用的程序文件相分離。interface部分的文件名爲className.h。implementation部分的文件名爲className.m。

如圖所示:這裏寫圖片描述
二、合成存取方法

    在Java中,其提供了對屬性進行讀寫的getter和setter方法。在OC中也提供了同樣的方法,不同之處在於OC中得get方法其方法名和屬性名是相同的。

另外,在OC中還提供了自動生成設值和取值方法的方式,就是使用@property和@synthesize標識。
實現步驟:
1.在聲明文件中使用property對實例變量進行標識
2.在實現文件中使用synthesize對實例變量進行標識。
這樣我們就不用再手動的創建set和get方法 。
這裏寫圖片描述
這裏寫圖片描述

如代碼所示,注意一點,如果程序中還有其他的實例變量並且沒有被標識的,在implementation中聲明定義的時候應該放在@synthesize標識的變量之前進行聲明。

三、點運算符點取實例變量。

     類似於Java中調用成員變量和方法的方式都是使用點運算符進行調用。OC中也可以使用類的引用對其變量進行調用。但是並不建議使用該方法調用函數,一般只用在屬性上,當對函數進行調用的時候還是建議使用方括號進行調用。

四、具有多個參數的方法

OC中具有多個參數的方法的定義方式:通過列出每個連續的參數並用冒號將其連起來,就可以定義一個接收多個參數的方法。用冒號連接的參數將成爲這個方法名的一部分。
代碼示例:
@interface Fraction : NSObject

@property int num,sum;
-(void)print;
//定義兩個參數的方法
-(void)addNum:(int) n andSum:(int)m;
@end
//具體實現,將n和m複製給實例變量sun和num
-(void)addNum:(int)n andSum:(int)m{
    sum = n;
    num = m;
    result = n+m;
}
//調用方法進行傳參
[myFraction addNum:3 andSum:4];

也可以省略參數名稱,直接使用冒號進行表示,但是會影響程序的可讀性,因此不建議使用。

五、static和self關鍵字
static:在局部變量前面加static關鍵字可以使局部變量保留方法多次被調用之後所得的值。
局部靜態變量和實例變量的區別:局部靜態變量可以記錄本身方法被所有對象調用的次數。實例變量只能記錄被某個對象調用的次數。
self:self相當於當前類的引用,用來調用當前對象本身的方法,類似於java中得this。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章