6月 092008
ついさっきまで、なぜ 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++よりも柔軟性が高いのはたしかだなー。






