iPhoneアプリ開発の初歩 – Objective-Cでクラスを作る.

Posted on 05/03/2013 by admin in cocos2d, Objective-C

cocos2dでゲームを作るにしてもObjective-Cの理解は必要です。今回はまず、基本中の基本。クラスの作り方を解説します。

クラスの構成

Objective-CもCやC++と同じように宣言部と実装部があります。これらはたいてい2つのファイルに分けて作られ、宣言部はヘッダーファイル(.h)、実装部は実装ファイル(.m)です。これら2つのファイルからクラスは構成されます。

2つのファイルはそれぞれ役割が違います。宣言部はObjective-Cでインターフェース部とも呼ばれ、クラスの概要を示す部分です。インターフェースの文字通りクラスの見た目です。そのクラスがどのような特徴を持っているのか、どのような仕事ができるのか、わかるようになっています。一方、実装部は実際の処理を書く部分です。

実際のプログラムでは以下の様な構造で書かれます。例として’sampleClass’を新しいクラス名とし、これはNSObjectをスーパークラスに持つと仮定します。

/*.hファイル*/
/*インタフェース部*/
@interface sampleClass : NSObject
{
    /*インスタンス変数などを宣言*/
}
/*メソッドを宣言*/
@end

/*.mファイル*/
/*実装部*/
@implementation smapleClass

    /*実際の処理内容を記述*/

@end

プログラムによっては前後にいろいろ記述されますが、基本的にはこれだけでクラスはできます。’sampleClass’がの横に書かれているのがスーパークラス(親クラスで)、これは継承関係を表します。すなわち、sampleClassはNSObjectの機能や特徴を継承し、使う事ができるということです。

Objective-Cでは必ずクラスは何かのクラスを継承しなければなりません。NSObjectはObjective-Cでルートとなっているクラスで、このクラスを拡張することで、様々なクラスが作られています。

インスタンス変数とは

インスタンス変数とはいわゆる属性と呼ばれる部分で、そのクラス独自で保有する変数です。

例えば、「人間」を表すクラスがあったとすると、「性別」、「名前」、「年齢」といったものがインスタンス変数といえます。また、継承に関していえば「哺乳類」が「人間」のスーパークラスに当たると行ってもいいでしょう。インスタンス変数と継承に関しては後日詳しく解説します。

インタフェース部でのメソッド宣言

メソッド宣言とは、このメソッドが他のクラスから見える(他のクラスが使える)ように定義しておくことです。インタフェース部に記述することで、ヘッダーファイルを読み込むだけで、他のクラスは、このクラスがどのような機能があるのかわかるようになります。こちらも詳しくは後述します。

実装部

実装部は先程述べた通り、実際のプログラムの処理を@implementationから@endの間に書いていきます。

このようにしてクラスは構成されます。

 

cocos2dでのクラスの追加

一応cocos2dアプリ開発について書いているので、cocosでのクラスの追加の方法を書いておきます。

File→New→Fileで次のウィンドウが開きます。

add_class1

左のサイドバーから’cocos2d’テンプレートを選び、CCNodeクラスを選択します。

次の画面で継承するスーパークラスを選択します。

add_class2

スプライトの機能を持ったクラスを作りたいならCCSprite、レイヤーとして使うのならCCLayerなど、作りたいクラスの特徴を考えて選択します。たいていCCNodeかCCLayer、CCSpriteです。

最後にクラスの名前と保存場所を決めます。

add_class3

これで新しいクラスを作ることができました。

add_class4

次回はメソッドの書き方とメッセージです。

Share on Facebook

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="">