LinuxでObjective-Cを動かしてみる
Macは慣れてないし会社でしか触れないので、とりあえず学習用にLinux(Vine)にObjective-Cを入れてみることに。aptパッケージがあったのでインストールはコマンド1発で終了。
# apt-get install gcc-objc
クラスを作ってみる
Objective-Cでは、クラスのインタフェース(@interface)を .h、クラスの実装(@implementation)を .m ファイルに保存するとよいみたい。.cでも問題なくコンパイルできけど、当然@implementationなどの機能が使えない。
TestClass.h
#include <objc/Object.h> @interface TestClass : Object{ char *name; } -(void)printName; -(void)setName:(char *)name; @end
TestClass.m
#include <objc/Object.h> #include "TestClass.h" @implementation TestClass -(void)printName{ printf("Hello %s\n", self->name); } -(void)setName:(char *)myname{ self->name = myname; } @end int main(){ char *name = "Objective-C"; id obj = [TestClass alloc]; [obj setName:name]; [obj printName]; return 0; }
- []でメソッドを呼び出す方式をメッセージ方式と呼ぶ。
- [XXX alloc]はnewと同等の働きをする。
- オブジェクトはどのクラスに属するものでもid型で表現される。