[objective-c]事始め 2008/11/08

Objective-Cです。環境はmac osx上です。事始めです。
4〜5年前に「オブジェクトCオブジェクトC」と連呼していたら、オブジェクティブCだよと訂正されたことがあります。

ソースコードの拡張子は.mです。

コンパイルは普通にgccで。
この時点では、特にオブションなしでgcc main.mとかで。

#include <stdio.h>
@interface A
@end
@implementation A
@end
int main(void){
printf("test to test!!\n");
return 0;
}


@〜でくくられたところは、コンパイラ指示子(compiler directive)


簡単な実装
ここからgccにおまじないが必要になります。
gcc main.m -framework Foundation

-framework Foundation
NSObjectにallocがあるようです。

#include <Foundation/NSObject.h>
#include <stdio.h>

@interface A: NSObject
{
int i;
}
- (void)mymethod;
@end

@implementation A
- (void)mymethod
{
printf("i am A:[%d]!!\n", i++);
}
@end

int main(void)
{
id a;
a = [A alloc];
[a mymethod];
[a mymethod];
return 0;
}


えーと、Objective-Cは
[オブジェクト メッセージ]

というふうに書く。
メッセージ式(message expression)っていうらしい。

javaとかで書くと
オブジェクト.メソッド
って感じなのかな。

新しい言語を学ぶときは、自分が慣れた言語から類推するとなんとなくわかるけど、「郷に入れば郷に従え」を心がけて名称とか、用語をきちんと守りたいところ。

: