3-8クラスTips163 引数付きのコンストラクタを作成する
Level2
Point引数付きコンストラクタの定義(initメソッド)
NSObjectクラスを継承したクラスでは、initメソッドがすでに定義されています。
引数のないコンストラクタを定義する場合には、initメソッドをオーバーライドしますが、初期化と同時にインスタンス変数などを設定する場合は、独自に引数付きのコンストラクタを作成します。
引数付きのコンストラクタは、「init」+「WithName」のように、最初に「init」という名前を付けます。
引数付きのコンストラクタは、以下のように定義し、{ }のブロックの中に処理を記述します。
- (id)initコンストラクタ名:(引数型)仮引数
{
// 処理
[super init];
return self;
}
引数付きのコンストラクタでは、すでに定義されているinitメソッドを呼び出します。
親クラスの引数なしのコンストラクタ(initメソッド)を呼び出す場合は、「[super init]」と記述します。また、クラス内にinitメソッドをオーバーライドしている場合には、「[self init]」と記述することもできます。
initメソッドの戻り値は、クラスのインスタンスとなる
この記事は会員限定です。会員登録をすると続きをお読みいただけます。
ログイン / 新規登録