・   「Java言語」実習 第2回

クラスの設計

Javaの簡単なクラスを設計し、 そのオブジェクトの生成の練習を行います。


・ 準備(学内向け):
各自のJavaの課題の作業用のディレクトリ java に移動しなさいなさい。 その中で以下の作業を行いなさい。


・ 基本課題1:「簡単なクラスの設計(その1)」
象のデータを表す単純なクラスを定義します。

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

・ 基本課題2:「クラスのオブジェクトの生成(その1)」
前の課題で定義したクラスのオブジェクトを取り扱います。

  1. ソースファイル Zoo.java を作成しなさい。
  2. javac コマンドでコンパイルをしなさい。
  3. java コマンドを通じてプログラムを実行し、結果を確認しなさい。

・ 基本課題3:「簡単なクラスの設計(その2)」
コンストラクタの定義を追加します。

  1. ソースファイル Elephant.java に引数を2個もつ形式のコンストラクタを追加しなさい。
  2. javac コマンドでコンパイルをしなさい。
  3. このプログラムは単独では実行できません。 次の課題に進みなさい。

・ 基本課題4:「クラスのオブジェクトの生成(その2)」
前の課題で定義したクラスのオブジェクトを取り扱います。

  1. ソースファイル Zoo.java をコンストラクタに直接フィールドの初期値を与えるように変更しなさい。
  2. javac コマンドでコンパイルをしなさい。
  3. java コマンドを通じてプログラムを実行し、結果を確認しなさい。

・ 基本課題5:「簡単なクラスの設計(その3)」
象のデータを表す単純なクラスを定義します。

  1. ソースファイル Elephant.java にさらに toString()メソッドを追加しなさい。
  2. javac コマンドでコンパイルをしなさい。
  3. このプログラムは単独では実行できません。 次の課題に進みなさい。

・ 基本課題6:「クラスのオブジェクトの生成(その3)」
前の課題で定義したクラスのオブジェクトを取り扱います。

  1. ソースファイル Zoo.java を toString()メソッドでデータを表示するように変更しなさい。
  2. javac コマンドでコンパイルをしなさい。
  3. java コマンドを通じてプログラムを実行し、結果を確認しなさい。

・ 基本課題7:「オブジェクトの配列の利用」
前の課題の複数のデータを配列として取り扱います。

  1. ソースファイル Zoo.java を配列でデータを取り扱うように変更しなさい。
  2. javac コマンドでコンパイルをしなさい。
  3. java コマンドを通じてプログラムを実行し、結果を確認しなさい。

・ 基本課題8:「オブジェクトの配列の利用(2)」
配列にデータを追加します。

  1. ソースファイル Zoo.java を変更し、4頭の象を取り扱えるようにしなさい。 4頭目の象のデータを追加し、表示できるようにしなさい。 新しい象の名前や年齢は適当に考えなさい。
  2. javac コマンドでコンパイルをしなさい。
  3. java コマンドを通じてプログラムを実行し、結果を確認しなさい。

・ 基本課題9:「簡単なクラスの設計(その4)」
新しいクラスを定義します。

  1. 課題5を参考にして、パンダのデータを取り扱うための新しいクラス Panda を定義しなさい。 Elephantと同じく「名前」と「年齢」のデータを内部に持ち、 2個の引数を持つコンストラクタと toString()メソッドを定義しなさい。
  2. javac コマンドでコンパイルをしなさい。
  3. このプログラムは単独では実行できません。 次の課題に進みなさい。

・ 基本課題10:「クラスのオブジェクトの生成(その4)」
前の課題で定義したクラスのオブジェクトを取り扱います。

  1. ソースファイル Zoo.java を変更し、動物園に2匹のパンダを追加しなさい。 配列の形式は取る必要はありません。 パンダの名前は "Wakwak" と "Hokhok"、年齢はどちらも3歳とします。
  2. javac コマンドでコンパイルをしなさい。
  3. java コマンドを通じてプログラムを実行し、結果を確認しなさい。

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

  1. 課題9と課題10 のソースプログラム(Panda.java と Zoo.java)の内容

・ 応用課題:「クラスのフィールドの追加」
Elephantのクラスに新しいフィールド(たとえば体重を表す weight) を追加しなさい。 コンストラクタや toString()メソッド、 オブジェクトを生成する Zoo のプログラムの側でどんな変更が必要か考えなさい。


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