クラスの継承の利用
全てのアプレットのクラスは、クラス Appletから作られます。
クラス Appletには既に多くの機能が組み込まれていて、
その機能をそっくり利用できました。
皆さんが行うべきことは、新しい機能を追加することだけでした。
実例で見てみましょう。
前回紹介したアプレット
Canvasクラス
を、まず用意しておきましょう。
このアプレットは、マウスのイベント処理や
画面の書き換えの関数を新しく追加して、
マウスで絵を描く機能を実現しています。
さて、この絵を描く機能はそっくり受け継いで、
キャンバスの色だけを別の色にする新しいアプレットを作ります。
それには次のようにするだけです。
import Canvas;
import awt.Graphics;
import awt.Color;
class YellowCanvas extends Canvas {
public void paint( Graphics g ) {
g.setForeground( Color.yellow );
g.paint3DRect( 0, 0, 600, 400, true, true );
}
}
秘密は import Canvas; と extends Canvas
の部分にあります。
Applet ではなくクラスCanvas をベースにすることで、
既に作られたイベント処理の機能をそっくり受け継ぐことができたわけです。
このおかげでプログラムが驚くほど簡単になっています。
新しく書き直したのは、
最初にキャンバスの色を指定して塗りつぶしている部分だけです。
(この例のように、新しく書き換えた関数の機能は、
新しいものに置き換わります。)