我們的例子分成五個檔案,首先, Demo.h 如下
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | #import <Foundation/Foundation.h> @interface Demo : NSObject { int a; } @property int a; @end /* 《程式語言教學誌》的範例程式 檔名:Demo.h 功能:Objective-c 程式範例 作者:張凱慶 時間:西元 2013 年 4 月 */ |
Demo.m 如下
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | #import "Demo.h" @implementation Demo @synthesize a; @end /* 《程式語言教學誌》的範例程式 檔名:Demo.m 功能:Objective-c 程式範例 作者:張凱慶 時間:西元 2013 年 4 月 */ |
Demo2.h 如下
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | #import <Foundation/Foundation.h> @class Demo ; @interface Demo2 : NSObject { @public Demo *d; } @property (assign) Demo *d; - ( void ) initDemo; @end /* 《程式語言教學誌》的範例程式 檔名:Demo2.h 功能:Objective-c 程式範例 作者:張凱慶 時間:西元 2013 年 4 月 */ |
Demo2.m 如下
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | #import "Demo2.h" @implementation Demo 2 @synthesize d; - ( void ) initDemo { d = [[ Demo alloc ] init ]; } @end /* 《程式語言教學誌》的範例程式 檔名:Demo2.m 功能:Objective-c 程式範例 作者:張凱慶 時間:西元 2013 年 4 月 */ |
測試檔案 classdemo15.m 如下
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | #import "Demo.h" #import "Demo2.h" int main ( int argc, const char * argv[]) { NSAutoreleasePool * pool = [[ NSAutoreleasePool alloc ] init ]; Demo2 *d = [[ Demo2 alloc ] init ]; [d initDemo ]; d .d .a = 2 2 ; NSLog( @"%i" , d .d .a ); [pool drain ]; return 0 ; } /* 《程式語言教學誌》的範例程式 檔名:classdemo15.m 功能:Objective-c 程式範例 作者:張凱慶 時間:西元 2013 年 4 月 */ |
編譯執行,結果如下

中英文術語對照 | |
---|---|
介面 | interface |
類別 | class |
您可以繼續參考
類別
相關目錄
Objective-C 快速導覽
Objective-C 教材
首頁
參考資料
Programming with Objective-C: About Objective-C
Programming with Objective-C: Working with Objects
沒有留言:
張貼留言