welcome: please sign in

2009-11-02 05:26:12時点のリビジョン28

メッセージを消す
location: 継承

継承

すでにあるクラスを拡張して新しいクラスを作ることができます。

このとき、もとのクラスの性質や機能は新しいクラスでも利用できます。

このことを継承といいます。


スーパークラス、サブクラス

クラス1を拡張してクラス2が作られたとき、

といい、次のような図で表わします。

スーパークラスのことを親クラス、サブクラスのことを子クラスと言うこともあります。

直接の親子でなく、親の親などのときでもスーパークラス、サブクラスと言います。


サブクラスの定義

作成するクラス名の後ろに

の形式で記述します。 上の図の関係のクラス2を作る場合は次のようになります。


性質の継承

スーパークラスで定義された性質はサブクラスに継承されます。

次のようにクラス1とクラス2が定義されている場合、

クラス1のインスタンスは

クラス2のインスタンスは

となります。 クラス1の項目にクラス2で定義された項目が加わった形です。


準備

Itemクラス


練習

前回作成した Itemクラスを継承してDrinkクラスを作ります。

属性の定義の部分は次のようになります。

Drinkクラス

このときmainメソッド内で

を行うとDrinkクラスのインスタンス(オブジェクト)が作成され 次のようになります。