継承とクラス

継承

別のクラスの定義の一部を拡張、あるいは変更して新しいクラスを定義すること。
サブクラス内のメソッドでは、自身のインスタンス変数の他、スーパークラスのインスタンス変数にもアクセスできる。

スーパークラス

新しく作るクラスから見て、継承の元となるクラス。

サブクラス

継承元のクラスから見て、新しく作るクラス。
スーパークラス、サブクラスは相対的なものである。

ルートクラス

継承を繰り返し、新たなクラスを作ると階層構造になる。これをクラス階層という。クラス階層において、スーパークラスを持たない大元のクラスのことをルートクラスと言う。Cocoa環境ではNSObjectがルートクラスとなり、ルートクラスを継承しなければオブジェクトとして振る舞うことができない。自分で新しくクラスを作る際には、既存のサブクラスをかNSObjectをスーパークラスにしなければならない。

オーバーライド


スーパークラスのメソッドを同名の新しい定義で置き換えること。同名のメソッドがオーバーライドされている場合、自分にもっとも近い祖先のクラスのメソッドが実行される。

コメント