・   「Java入門」実習 第5回

4: クラスの継承(その2)

インターフェイスによる多重継承について練習します。


・ 準備(学内向け):
前回と同様、作業用のディレクトリ java2に移動しなさい。


・ 基本課題1:「生命が持つべき性質を定めるインターフェイス」

  1. ソースファイル Life.java を作成しなさい。
  2. javac コマンドでコンパイルをしなさい。
  3. このプログラムは単独では実行できません。次の課題に進みなさい。

・ 基本課題2:「他の生命を攻撃する性質を定めるインターフェイス」

  1. ソースファイル Attackable.java を作成しなさい。
  2. javac コマンドでコンパイルをしなさい。
  3. このプログラムは単独では実行できません。次の課題に進みなさい。

・ 基本課題3:「インターフェイスの継承」
LifeとAttackableの共通の性質を持つインターフェイスを定義します。

  1. ソースファイル Attacker.java を作成しなさい。
  2. javac コマンドでコンパイルをしなさい。
  3. このプログラムは単独では実行できません。次の課題に進みなさい。

・ 基本課題4:「スーパークラスとなる抽象クラス」
生命体を表すクラスを設計します。 このクラスは、後の課題で設計するクラスの共通のスーパークラスとなります。

  1. ソースファイル Creature.java を作成しなさい。
  2. javac コマンドでコンパイルをしなさい。
  3. このプログラムは単独では実行できません。次の課題に進みなさい。

・ 基本課題5:「クラスの実装(1)」
Creatureクラスの抽象メソッドを実装して人間の情報を表すクラス Humanを設計します。

  1. ソースファイル Human.java を作成しなさい。
  2. javac コマンドでコンパイルをしなさい。
  3. このプログラムは単独では実行できません。次の課題に進みなさい。

・ 基本課題6:「クラスの実装(2)」
Attackerクラスの抽象メソッドを実装してモンスターの情報を表すクラス Monsterを設計します。

  1. ソースファイル Monster.java を作成しなさい。
  2. javac コマンドでコンパイルをしなさい。
  3. このプログラムは単独では実行できません。次の課題に進みなさい。

・ 基本課題7:「クラスの実装(3)」
Humanクラスを継承して兵士の情報を表すクラス Soldierを設計します。

  1. ソースファイル Soldier.java を作成しなさい。
  2. javac コマンドでコンパイルをしなさい。
  3. このプログラムは単独では実行できません。次の課題に進みなさい。

・ 基本課題8:「ゲームのクラスの設計(1)」
Attakerクラスのオブジェクトどおしを戦わせるゲームの元になるクラスを設計します。 Solder と Monsterを共通して取り扱うために Attakerインターフェイスが記述に用いられます。

  1. ソースファイル Battle.java を作成しなさい。
  2. javac コマンドでコンパイルをしなさい。
  3. このプログラムは単独では実行できません。次の課題に進みなさい。

・ 基本課題9:「ゲームのクラスの設計(2)」
Monsterどおしの戦闘を確認するためのクラスを設計します。

  1. ソースファイル BattleTest.java を作成しなさい。
  2. javac コマンドでコンパイルをしなさい。
  3. プログラムを実行して結果を確認しなさい。
  4. もう一度プログラムを実行して結果を確認しなさい。 (実行するたびに結果が微妙に変化することを確認しなさい。)

・ 基本課題10:「ゲームのクラスの設計(3)」

  1. 課題9:のプログラムを改造して、 モンスターの名前や生命力、魔法力のパラメータを変更してみなさい。 (ソースファイル名は BattleTest.javaのままでよい)
  2. javac コマンドでコンパイルをしなさい。
  3. 何度か実行してみて、結果を確認しなさい。

・ 基本課題11:「ゲームのクラスの設計(4)」
MonsterとHuman間での戦闘を確認するためのクラスを設計します。

  1. ソースファイル BattleTest2.java を作成しなさい。
  2. javac コマンドでコンパイルをしなさい。
  3. プログラムを実行して結果を確認しなさい。
  4. もう一度プログラムを実行して結果を確認しなさい。 (実行するたびに結果が微妙に変化することを確認しなさい。)

・ レポート課題:
ここまでの課題が終わった人は、下記の項目を tatsuo宛のメール で報告しなさい。(Subjectは program11)

  1. 課題10:で作成したプログラムの実行結果(1回分)
  2. 課題11:で作成したプログラムの実行結果(1回分)

実習の目次   今週の講義の内容