itsukichang

フロントエンドが得意なエンジニア.ダーツと旅行とギターが好き

実装。

さて、宣言のやり方を記述したので、次は実装です。

まず、前に書いたように、実装は.mファイルに書きます。

ではクラスの実装から。

はじめに、クラスの宣言を読み込みます。

#import "宣言したクラス名.h"

実装には、@implementation を使います。

@implementation 実装するクラス名
@end

@implementationの後にクラス名が来ます。ここでは親クラス名は必要ありません。
@implementationと@endの間にメソッドの実装を書いていきます。

続いてメソッドの実装。

@implementation 実装するクラス名
 - (返り値型)メソッド名 //※既に宣言したもの
{
実装内容
}
@end

まず、宣言と同じ形でメソッドを書きます。で、中括弧{}の中にメソッドの処理を実装していくことになります。

ここではC言語の構文がそのまま使えます。


さて、宣言と実装で、二回メソッドを書かなければいけない訳ですが。(しかも長ったるい。)
メソッドの宣言は常に必要なのか?という疑問がでてくると思います。
実は必ずしも必要ではないのです。宣言せずに、いきなり実装しても構いません。
しかし、宣言をすることによって、他のクラスから呼び出せるという利点があります。

というわけで、他のクラスから呼ぶ必要のない物、一回しか使わないよなメソッドは宣言しなくてもいいんです。

・・・まぁ後々必要になれば.hファイルにコピペすればいいのですが・・。


つまり、.hファイルに加えなかったメソッド、宣言しなかったメソッドは必然的に非公開になります。
C++でいうprivate。
逆に宣言したメソッドはすべてpublic、公開となります。(たぶん、強制。調べときます。)
そもそもメンバ関数というような考えがない訳で・・・アクセス制御がないのです。



もはや、既に色んな言語を体験した人ならわかるでしょうが、随分とカオス&面倒な言語です(笑
しかし、その反面魅力も多いし、なによりiPhoneアプリ開発には必要不可欠です!w
もうしばらく我慢(?)して、おつきあいくださいwきっと慣れて面白く感じてくるはずです!


では今回は以上。