Objective-C 快速導覽 - 類目

類目 (category) 是類別 (class) 的擴充規格,可以不修改類別原本的設計,另外增加方法 (method) 。



假設我們原本有個 Demo.h 如下
#import <Foundation/Foundation.h>

@interface Demo : NSObject 

- (void) do_something;

@end

/* 《程式語言教學誌》的範例程式
   http://pydoing.blogspot.com/
   檔名:Demo.h
   功能:Objective-c 程式範例
   作者:張凱慶
   時間:西元 2013 年 4 月 */


Demo.m 如下
#import "Demo.h"

@implementation Demo

- (void) do_something
{
    NSLog(@"something happened");
}

@end

/* 《程式語言教學誌》的範例程式
   http://pydoing.blogspot.com/
   檔名:Demo.m
   功能:Objective-c 程式範例
   作者:張凱慶
   時間:西元 2013 年 4 月 */


另外在 category.m 中設置類目,也就是在 @interface 後加上小括弧,小括弧中為類目名稱
#import "Demo.h"

@interface Demo (Test) 

- (void) test;

@end

@implementation Demo (Test)

- (void) test
{
    NSLog(@"test");
}

@end

int main (int argc, const char * argv[]) {
    NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];

    Demo *d = [[Demo alloc] init];
    [d do_something];
    [d test];
 
    [pool drain];
    return 0;
}

/* 《程式語言教學誌》的範例程式
   http://pydoing.blogspot.com/
   檔名:category.m
   功能:Objective-c 程式範例
   作者:張凱慶
   時間:西元 2013 年 4 月 */


編譯執行,結果如下



中英文術語對照
類目category
類別class
方法type


您可以繼續參考
例外處理
協定
類目


相關目錄
Objective-C 快速導覽
Objective-C 教材
首頁



參考資料
Programming with Objective-C: About Objective-C
Programming with Objective-C: Working with Objects

沒有留言: