クラスの継承のルール
新しいクラスを設計する時、
継承を使うことで既存のクラスの資源を有効に活用することができます。
既存のアプレットのクラスに次々と機能を追加していくことで、
アプレット開発の効率化を図ることができます。
「クラスの継承」はアプレットを開発する時には必ず登場します。
class NewApplet extends Applet {
上のようなクラス定義は、
新しいアプレットのクラスが Appletのサブ・クラスとして
作られることを示しています。
新しいアプレットは、特に記述しなくても
Appletに既に組み込まれた多くの機能をそっくり利用することができます。
クラスの継承は親から子へ、さらにそのまた子(孫)へ、さらにそのまた子へ、
というように次々と続けることもできます。
つまり、新しいアプレットを開発する場合も常に
Appletクラスからスタートする必要はないわけです。
既に開発された別のアプレットが存在する時、
そのクラスをベースに使うこともできます。
プログラムは追加する分だけ記述すればよいので、
多くの機能を持つアプレットでも非常に簡単に実現可能です。
拡張したクラスにおける変数やメソッドの
扱いは以下の原則に従います。
- 親のクラス(およびその先祖のクラス)で
宣言された変数および定義されたメソッドは、
特に記述しなくともすべて継承されます。
- 親のクラス(およびその祖先のクラス)に存在しない
変数を宣言したりメソッドを定義したりすると、
新たにデータを追加したと解釈されます。
- 親のクラス(およびその祖先のクラス)に存在するのと
同じ名前の変数を宣言したりメソッドを定義し直すと、
新しいものが優先され親のクラスのものと置き換わります。
(「上書き」されると考えてください。)
複雑なアプレットを開発する場合には、追加する機能も多くなるでしょう。
その場合にはクラスの継承を活用して、
アプレットを少しずつバージョン・アップさせていくのも1つの方法です。
つまりアプレットを徐々に「進化」させていくわけです。
あるいは最初の段階ではまだアプレットとして利用するのではなく、
他のアプレットのベースとする目的のみのクラスを設計することもあり得ます。
そうしたクラスが幅広い用途に何回も繰り返し利用されれば、
結果として開発の効率が上がることになります。