2009年8月3日月曜日

はじめてのObjective-C

意味はないけどムシャクシャするので、
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 件のコメント: