ついさっきまで、なぜ Objective-C では、NSObject や Object を
常に継承しなければいけないのかナーと思っていた。

が、どうやら言語の仕様上の問題のようだ。

すべてのクラスは、ルートクラス(すなわちNSObjectやObject)を継承しなければ、
オブジェクトとして振る舞うことが出来ない。
(参照:詳解 Objective-C 2.0)

なるほどねー。納得しました。

Objective-C は、かなり動的なことが出来るようで、以下の様なことも出来てしまう。
(先日作成したクラスを流用)

id foo =[Hoge class];
id var =[[foo alloc] init_x:10 _y:20];
printf("x:%d\n",[var getX]);
printf("y:%d\n",[var getY]);
return0;

C++よりも柔軟性が高いのはたしかだなー。

関連エントリー:

Objective-C 基礎

autotools + with-mysql

gdb + core 解析

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <img localsrc="" alt=""> <pre lang="" line="" escaped="" highlight="">