技術の犬小屋

Webプログラミングを餌に生きる犬のメモ帳

今回はクラスの宣言とクラスの実装について説明する
 

クラスの宣言

クラスの宣言を記述するファイルには拡張子に.hを付ける。これはヘッダファイルと呼ばれる。
 

@interface クラス名 : スーパークラス名 <プロトコル> {
    //クラスブロック内では変数の宣言を行う
    //…何らかの変数宣言
}
//クラスブロック外ではメソッドの宣言を行う
//…何らかのメソッド宣言
@end

 
interfaceブロック内では変数の宣言を行うことができる。interfaceブロック外ではメソッドの宣言を行うことができる。@interfaceから@endまでがクラスの宣言にあたる。
 
プロトコルについてはこの記事の最後で説明する。
 

クラスの実装

クラスの実装を記述するファイルには拡張子に.mを付ける。これはメインファイルと呼ばれる。

@implementation クラス名
//ここで変数やメソッドの実装を行う
//…何らかの実装
@end

 
@implementationから@endまでがクラスの実装にあたる。
 

プロトコルとは何か

Javaのインターフェースによく似ているもの。プロトコルはメソッドの宣言だけで実装が無い為、実装は自分で用意する必要がある。Javaのインターフェースと同じで、プロトコルを使用しているにも関わらず、プロトコルで定義されている実装を行わない場合にはエラーとなる。
 
以下はヘッダファイル(.h)に記述している。
 

@protocol プロトコル名
- (void)メソッド名;
@end

@interface クラス名:スーパークラス名 <プロトコル名>
//メソッドの宣言
...
@end

 
プロトコルとインターフェースは同じものである。プロトコルを取り込むことを「採用」と呼ぶ。プロトコルは以下のように複数採用することができる。
 

@interface クラス名:スーパークラス名 <プロトコル名1, プロトコル名2>
//メソッドの宣言
...
@end

 
 
以上
 
 
参考
Objective-c言語入門

抽象クラス(abstract)とインターフェース(interface)についての復習 arrow-right
Next post

arrow-left Objective-Cの勘所2 インポートの扱い
Previous post

コメントを残す