■
Objective-Cでクラスの定義をメモしておく。
Objective-CはNSObjectというルートクラスを継承する必要がある。
// クラス定義 @interface CHoge : NSObject - (void) func1; // インスタンスメソッド + (void) func2; // クラスメソッド @end // クラスの実体 @implementation CHoge - (void) func1 { NSLog(@"call func1"); } + (void) func2 { NSLog(@"call func2"); } @end
メソッドの前に付いている+/-は、
+がクラスメソッド を意味する。
-インスタンスメソッド を意味する。
クラスメソッドはクラスのインスタンスを生成しなくても呼び出せる。
インスタンスメソッドはクラスのインスタンスを生成しなければ呼び出せない。
上の例でいうと、こんな感じ
CHoge hoge = [CHoge alloc]; [hoge func1]; [CHoge func2];
なお、以下のようにも記述できる
CHogeをallocし、func1をコールするという意味。
[[CHoge alloc] func1];
ここのallocはC++でいうnewのようなもので、インスタンスを生成する際に呼ぶ。
次回はメソッド定義を。