當我們日常工作中寫好了乙個類的功能後期發現又要加入新功能時的時候,我們會在原類上增加新的函式,可是隨著後期功能的增多,會導致這個類不好維護。
這時候我們會想,我們能不能新增功能又不改變原類的結構,並且通過原類又可以使用新增的方法呢?這個時候就要引入category這個概念了。
1.將類的實現分散到多個不同檔案或多個不同框架中。
2.將常用的相關的方法分組。
3.向物件新增非正式協議。
#import "person.h"
@inte***ce person (work)
-(void) playbasketball;
-(void) buildbody;
@end
#import "person+work.h"
@implementation person (work)
-(void)playbasketball
-(void)buildbody
@end
@inte***ce person : nsobject
-(void) eat;
-(void) sleep;
@end
#import "person.h"
@implementation person
//定義了人的吃和睡覺 這屬於休息
//人還要工作的啊,我們這個可以放在分類中
-(void)eat
-(void)sleep
@end
#import //匯入標頭檔案
#import "person+work.h"
#import "person.h"
int main(int argc, const char * argv)
return 0;
}
黑馬程式設計師
asp.net android ios開發 net培訓 期待與您交流!map hashtable 底層是雜湊表資料結構,不可以存入null鍵和null值。該執行緒是同步的,jdk1.0出現,效率低。hashmap 底層是雜湊表資料結構,允許使用null鍵和null值。該集合執行緒是不同步的,將has...
黑馬程式設計師
1.了解反射 反射 就是通過class檔案物件,去使用該檔案中的成員變數,構造方法,成員方法。person p new person p.使用 要想這樣使用,首先你必須得到class檔案物件,其實也就是得到class類的物件。2.反射中的類 class類 成員變數 field類 構造方法 const...
黑馬程式設計師
黑馬程式設計師 j a基礎學習筆記2 一 筆記內容概述 關鍵字 識別符號 注釋 注釋的應用 常量 進製的由來 進製轉換 負數的進製 變數的介紹 變數的基本演示 型別提公升 強制轉換 字元型別運算過程 型別運算細節 算術運算子 賦值運算子。二 常用內容介紹 1.注釋內容不占用記憶體,即使新增再多的注釋...