作って遊ぼうJava(4) サブクラス IgoBoard

前回の Board をスーパークラスとする IgoBoard クラスを作成し、そのクラスをテストするアプレット TestIgoBoard02 を作成しました。
Testigoboard02
【図4 クラスIgoBoardのテスト用アプレット】
今回作成したIgoBoardというクラスは、次のような形になっています。
【リスト1 クラス IgoBoard の流れ】
public class IgoBoard extends Board
{
 /* 囲碁に固有の定数の定義 /
 public IgoBoard(int iRo)
 {
  /

   * このクラスのコンストラクタ
   * スーパークラスの一部のprotected変数を変更し、
   * 碁盤の属性にする。
   /
 }
 public drawGrid()
 {
  /

   * スーパークラスの drawGrid メソッドを
   * オーバーライドし、囲碁特有の枠線を
   * 描画する。
   */
 }
}
これ以外の処理はスーパークラス Board の処理が継承されます。つまり、再利用できたわけです。
うまく再利用できるためにはスーパークラスの作りがよく設計されていることが大切ですが、さまざまなケースも含んだ抽象化・一般化は、そう簡単ではありません。いくつものサブクラスを作るうちにスーパークラスのほうも枯れて行くのだと思います。
(つづく)

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト /  変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト /  変更 )

%s と連携中

%d人のブロガーが「いいね」をつけました。