當然我們可以自訂建構方法,自訂建構方法的好處是可以直接初始化屬性 (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
沒有留言:
張貼留言