June 2014
Intermediate to advanced
400 pages
6h 29m
Japanese
この章ではObjective-C(Obj-C)のクラスについて説明します。続いて次の章でインスタンスについて説明します。
オブジェクト指向言語では、クラスの「階層構造」を用いて対象の世界を記述するのが一般的です。Obj-Cにおいてもサブクラスとスーパークラスによってクラス間の関係を記述することができます。たとえばQuadruped とDogというふたつのクラスを用意して、QuadrupedをDogのスーパークラスとすることができます。あるクラスは複数のサブクラスをもつことがありますが、すぐ上のスーパークラスはひとつしかありません。スーパークラスのスーパークラスのスーパークラス……といったように、上にたどっていくと最後にはベースクラスあるいはルートクラスと呼ばれる最上位のクラスに到達します。
クラスの上下関係は(上下が逆転した)木構造を形成することになります(最上位がベースクラス)。そして、Cocoaのクラスも(かなり大きな)木構造になっています。実際にXcodeでこの巨大な構造を見ることができます(図4-1。具体的な表示方法は第II部で紹介します)。
サブクラスを作ることによって関連したクラスで機能を共有することができます。たとえばDogとCatというふたつのクラスを考えてみましょう。いま両方のクラス用にwalkというメソッドを定義するとします。この犬も猫も四足歩行の動物(Quadruped)で似たような歩き方をします。したがって、メソッドwalkをクラスQuadrupedで定義してDogとCatをサブクラスとすれば、DogとCatで別々に定義しなくても済むというわけです。この結果DogもCatも ...
Read now
Unlock full access