動物園シミュレーションゲームを作るために,以下の様なクラスを作る。
(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(現状では後述のように定義されている)
|