Objective-Cでコードを書いてみた。
いや、別にムシャクシャはしていないけど。
ということで、helloWorldを。
hello.m
#import
#import
@interface TestClass : Object
- (void) getMessage;
@end
hello.m
#import "hello.h"
@implementation TestClass
- (void) getMessage {
printf("Hello Objective-C World\n");
}
@end
int main(int argc, char *argv[])
{
id obj = [ TestClass alloc ];
[ obj getMessage ];
return 0;
}
Ojbective-Cは @interface で、クラスの定義を行い、@implementationでクラスの実装を行う。
サンプルでは、
- (void) getMessage;
というメソッドを@interfaceで定義し、@implementationで実装している。 "-
"はインスタンスメソッドと言う意味。一応C言語なので、Cの標準ライブラリをimportすれば使用できる。
で、メソッドの呼び出しは[]で行う。
Objective-Cはsamlltalkと同じメッセージ形式なので、
[obj getMessage]
は、objに対してgetMessageというメッセージを送信しています。alloc
はNewと同じ。Linuxでのコンパイルは
$gcc -v -Wall -Os -o hello hello.m -lobjcとする。-lobjcというのが必要なんですな。
しかし、Objective-Cとかいっても、これじゃどう見てもC言語には見えませんな。
0 件のコメント:
コメントを投稿