OC中類別的小結

2021-06-27 17:17:28 字數 1121 閱讀 6082

//類別的作用:在已有的類中新增方法

demo:新建檔案在nsstring類中新增乙個列印自身的方法, 直接在main檔案中宣告和實現nsarray列印自身的方法

//

// main.m

// 類別

//// created by macro on 14-12-7.

//#import #import "nsstring+selfprint.h"

// 類別只使用在本檔案中,則無需inte***ce

@inte***ce nsarray (show)

- (void)show;

@end

@implementation nsarray (show)

- (void) show

}@end

int main(int argc, const char * argv)

return 0;

}

//

// nsstring+selfprint.h

// 類別

//// created by macro on 14-12-7.

//#import @inte***ce nsstring (selfprint)

//這是類別 在類別中宣告方法,就如同宣告在原類中

//當前類是nnstring

//類別中不能宣告成員變數

- (void) selfprint;

- (nsstring *)reversal;

@end

//

// nsstring+selfprint.m

// 類別

//// created by macro on 14-12-7.

//#import "nsstring+selfprint.h"

@implementation nsstring (selfprint)

- (void) selfprint

- (nsstring *)reversal

return [str autorelease];

}@end

OC中類別的向前引用和非正式協議

cocoa沒有任何真正的私有方法,如果你知道物件支援的某個方法,即使該物件所在的類的介面中沒有宣告該方法,你也可以呼叫它。但是編譯器發現你呼叫物件的某個方法,沒有找到該方法的宣告會報錯。如果在類別中宣告了該方法,編譯器就知道該方法已經存在了,不管有沒有在類別中去實現。編譯器顯示報錯。在定義類別後正常...

類別的作用?

有時我們需要在乙個已經定義好的類中增加一些方法,而不想去重新寫該類。比如當 工程已經很大,量比較多,或者類中已經抱住很多方法,已經有其他 呼叫了該 類建立物件並使用該類的方法時,可以使用類別對該類的擴充新的方法。注意 類別只能擴充方法,而不能擴充成員變數。委託 舉例 委託 degegate 顧名思義...

類別的設計

1 先制定協定,再實作 2 優點 事前的規則使類別更完善 較佳的類別版本控制取向 使用起來較有彈性 3 使用介面制定協定 代表使用者端與伺服端之間的協定,不包含資料及任何實作的程式碼 程式碼易動時,使用介面,不需要改程式碼 不同的類別均支援相同的操作 使用介面輕易就可實作多型 使用ado.net的介...