ゲームソフトウェア設計論 2013年度定期試験対策要点解説

■確認問題

動物園シミュレーションゲームを作るために,以下の様なクラスを作る。

 (a)動物一般を表す public な抽象クラス Animal
   ・生成されたAnimal型オブジェクトの総数を表す private な int型の staticフィールド num (初期値は0)
   ・現在位置(2次元座標)を表す private な double 型フィールド x, y
   ・num の publicでstaticなゲッタ int getNum( )
   ・x の public なゲッタ double getX(),xのpublicなセッタ void setX( double x )
   ・y の public なゲッタ double getY(),yのpublicなセッタ void setY( double y )
   ・フィールドx,yを初期化し,numの値を1増やすpublicなコンストラクタ Animal( double x, double y )
   ・「鳴き声を出す」という振る舞いを表すpublicな抽象メソッド void cry( )

 (b)「描画が可能である」という性質を表すpublicなインタフェイス Drawable
   ・「描画する」という処理を表す抽象メソッド void draw( )

 (c)「猫」を表すpublicなクラスCat(Animalのサブクラスで,Drawableを実装する)
   ・Animalのコンストラクタを呼び出すpublicなコンストラクタ Cat( double x, double y )
   ・"Mew mew!"と表示するようにオーバライドしたcry( )メソッド
   ・"(=^^=)"と表示するようにオーバライドしたdraw( )メソッド

 (d)「犬」を表すpublicなクラスDog(Animalのサブクラスで,Drawableを実装する)
   ・Animalのコンストラクタを呼び出すpublicなコンストラクタ Dog( double x, double y )
   ・"Bow wow!"と表示するようにオーバライドしたcryメソッド
   ・"U^エ^U"と表示するようにオーバライドしたdrawメソッド

 (e)「動物園」を表すpublicなクラスZoo(現状では後述のように定義されている) 

  


それでは,最初に (a) の 抽象クラス Animal から定義していこう。(続きはこちら)