3-8クラスTips162 コンストラクタを作成する
Level1
Pointコンストラクタの定義(initメソッド)
Objective-Cでクラスを作成するときは、NSObjectクラスを継承します。
NSObjectクラスでは、メモリを確保するためのallocメソッドや、クラス自身を初期化するためのinitメソッドなどがあらかじめ定義されています。このinitメソッドをコンストラクタと言います。
新しいクラスを作成して、インスタンス変数などを初期化する場合は、initメソッドを改めて定義します。これをオーバーライドと言います。
ただし、initメソッドは、NSObjectクラスですでに定義されているため、クラス宣言(@implementation部)では、initメソッドを宣言する必要はありません。
コンストラクタの定義は、以下のように記述します。
@implementation クラス名
-(id)init
{
[super init];
// 処理
return self;
}
initメソッドの処理では、すでに最初に定義されているinitメソッドを呼び出します。親クラスで定義されているメソッドを呼び出す場合は「[super init]」のように、superキーワードを使います。
この記事は会員限定です。会員登録をすると続きをお読みいただけます。
ログイン / 新規登録