當然我們可以自訂建構方法,自訂建構方法的好處是可以直接初始化屬性 (property) 值。
通常自訂的建構方法是以 init 作為字首,亦可以 super 先傳遞 init 給父類別 (superclass) ,舉例如下
#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; } /* 《程式語言教學誌》的範例程式 http://pydoing.blogspot.com/ 檔名: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
沒有留言:
張貼留言