イナヅマTVログ

ActionScript思考回路をObjective-C変換 – 超初級

| 1件のコメント

悪戦苦闘している Objective-C を ActionScript に例えながら理解を進めるオレメモ。

Objective-C は C のスーパーセット

Objective-C は C の機能が全て使える、ツーことかな。

Objective-C はオブジェクト指向言語。
てことはクラス、インスタンスなことが必要ってことだね。

クラスの作成には、ヘッダーファイルとソースファイル2つのファイルを作成する。

でも、1つのファイルにまとめても可。
良く言えば「柔軟」、悪く言うと「優柔不断」。
好みは「優柔不断」なヤツなので相性は良い、と言い聞かせるオレ。

拡張子

  • .h
    ヘッダーファイル
  • .m
    ソースファイル
    *ソースファイルにヘッダーファイル宣言も書けるらしい

ヘッダーファイル == インターフェース

ヘッダーファイルはインターフェース。

@interface MyClass : NSObject
{
	int	count;
	id	data;
	NSString*	name;
}
-  (id)initWithString:(NSString*)aName;
+ (MyClass*)createMyClassWithString:(NSString*)aNmae;
@end

定義:@interface から @end
クラス名:MyClass
親クラス:NSObject
メンバ変数:count, data, name
*メンバ変数はインスタンス変数・・・

メソッド

-  (id)initWithString:(NSString*)aName;
+ (MyClass*)createMyClassWithString:(NSString*)aNmae;

-:インスタンスメソッド
+:クラスメソッド
*クラスメソッドは静的(static)

ソースファイル == クラス

#import "MyClass.h"
@implementation MyClass
- (id)initWithString:(NSString*)aNmae
{
	count	= 0;
	data	= nil;
	name	= [ aNmae copy ];
	return self;
}
+ (MyClass*)createMyClassWithString:(NSString*)aNmae
{
	return [ [ myClass alloc ] initWithString:aName ]
}
@end

ヘッダーファイルをインポート。
定義:@implementation から @end
ヘッダーファイルで定義したメソッドを実装する。

- (id)initWithString:(NSString*)aNma

(id):戻り値タイプ
initWithString:メソッドシグネチャ
*メソッド名ってことではないんだね、実行(メッセージ送信)方法と関係ある・・・
(NSString*):パラメタ・タイプ
*パラメタ == 引数だよね
aNma:パラメタ名

関数の実行は「メッセージ送信」で、送信の柔軟性が理解進捗を遅くする。
メッセージ送信時とパラメタとメソッド・・・
また今度にしよう。

1件のコメント

  1. ピンバック: memo.393 » Blog Archive » [iP]Objective-Cの文法メモ(ActionScript3.0との差異)

コメントを残す