當然我們可以自訂建構方法,自訂建構方法的好處是可以直接初始化屬性 (property) 值。
通常自訂的建構方法是以 init 作為字首,亦可以 super 先傳遞 init 給父類別 (superclass) ,舉例如下
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 | #import <Foundation/Foundation.h> @interface Demo : NSObject { int a; int b; } @property int a, b; - ( id ) initProperty; @end @implementation Demo @synthesize a, b; - ( id ) initProperty { self = [ super init ]; if ( self ) { a = 0 ; b = 1 ; } return self ; } @end int main ( int argc, const char * argv[]) { NSAutoreleasePool * pool = [[ NSAutoreleasePool alloc ] init ]; Demo *demo = [[ Demo alloc ] initProperty ]; NSLog( @"a: %i" , demo .a ); NSLog( @"b: %i" , demo .b ); [pool drain ]; return 0 ; } /* 《程式語言教學誌》的範例程式 檔名:classdemo16.m 功能:Objective-c 程式範例 作者:張凱慶 時間:西元 2013 年 4 月 */ |
編譯執行,結果如下

中英文術語對照 | |
---|---|
類別 | class |
物件 | object |
建構方法 | constructor |
屬性 | property |
父類別 | superclass |
您可以繼續參考
類別
相關目錄
Objective-C 快速導覽
Objective-C 教材
首頁
參考資料
Programming with Objective-C: About Objective-C
Programming with Objective-C: Working with Objects
沒有留言:
張貼留言