//類別的作用:在已有的類中新增方法
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的介...