プログラミング応用a 第11回『継承の基礎2』-08〜多段階の継承とObejectクラス,  キャスト演算子による型変換

【多段階の継承】
・継承は多段階で行うことが出来る。次の例では,
  スーパークラスAのサブクラスBが定義され,
  さらに,BをスーパークラスとしてサブクラスCが定義されている。
List 10



【すべてのスーパークラスObject】
【キャスト演算子による型変換】

・スーパークラスが指定されていないクラスは,すべてObjectというJavaにもともと備わっている特別なクラスのサブクラスとなる(下図List11, Fig.4, 5)。
  ※つまり,Javaのプログラムに登場するすべてのクラスは,直接的にもしくは間接的に,Objectクラスのサブクラスということになる。
・いままで学習してきたように,サブクラス(のオブジェクト)は,スーパークラス(のオブジェクト)として扱われる。
 言い方を変えると,Javaのシステムでは,サブクラス(のオブジェクト)は,スーパークラス(のオブジェクト)に自動で変換される,ということである。
 あまり良い作法とは言えないが,いったんスーパークラス(のオブジェクト)に変換された値を,キャスト演算子という演算子によって無理矢理サブクラス(のオブジェクト)に変換することも可能である(下図Fig.6,7)。
List 11