-
Objective-Cを使ってみる 2008-07-11 00:23:51
ひょんなことからObjective-Cの勉強をちょっとしてみた。
最初はMacがないと使えないと思っていたのだけど、gccでコンパイルできることがわかった。すばらしい。sudo aptitude install gobjc
環境構築はこれでOK。あとはgccかけるときに-lobjcをつけてあげます。
gcc test.m -lobjc
こんな感じ。Objective-Cのファイル名の拡張子はmだそうです。
Objective-Cは基本的にC言語みたいです。変な記法でオブジェクトが使えるようになったC言語。
たとえばRubyでclass Tsukasa < Oishi def say puts "hello, world!" end end a = Tsukasa.net a.sayというようなコードがあったとき、Objective-Cでは
#import <stdio.h> #import <objc/Object.h> @interface Tsukasa : Oishi - (void)say; @end @implementation Tsukasa - (void)say { printf("hello, world!\n"); } @end int main(void) { id a = [Tsukasa new]; [a say]; }と書きます。同じクラスを2回書いているように見えますが、@interfaceのところはクラスの宣言で、@implementationでメソッドを実際に定義します。メソッド名の前のカッコは返り値で、その前の「-(マイナス)」はインスタンスメソッドであることを示しています。クラスメソッドのときは「+(プラス)」を使います。
実際にメソッドを呼び出すとははかぎ括弧で指定します。最初にレシーバを書いて、次にメソッドと引数が続きます。
idというのはインスタンスを表しているObjective-Cの型で、基本的にはvoid*みたいなものだそう。だから、Tsukasa * a = [Tsukasa new];
と書いてもOKなのです。
書き方がちょっと変だけど、C++よりはとっつきやすそうです。もっといろいろ勉強してみよう。

コメント(
リンク元(30)