「Java I」実習 第9回
クラスの設計
Javaの簡単なクラスを設計し、
そのオブジェクトの生成の練習を行います。
準備(学内向け):
各自のJavaの課題の作業用のディレクトリ java に移動しなさいなさい。
その中で以下の作業を行いなさい。
基本課題1:「簡単なクラスの設計(その1)」
動物園で象のデータを管理するための単純なクラスを定義します。
- ソースファイル
Elephant.java を作成しなさい。
- javac コマンドでコンパイルをしなさい。
- このプログラムは単独では実行できません。
次の課題に進みなさい。
基本課題2:「クラスのオブジェクトの生成(その1)」
前の課題で定義したクラスのオブジェクトを取り扱います。
- ソースファイル
Zoo.java を作成しなさい。
- javac コマンドでコンパイルをしなさい。
- java コマンドを通じてプログラムを実行し、結果を確認しなさい。
基本課題3:「簡単なクラスの設計(その2)」
コンストラクタの定義を追加します。
- ソースファイル
Elephant.java
に引数を2個もつ形式のコンストラクタを追加しなさい。
- javac コマンドでコンパイルをしなさい。
- このプログラムは単独では実行できません。
次の課題に進みなさい。
基本課題4:「クラスのオブジェクトの生成(その2)」
前の課題で定義したクラスのオブジェクトを取り扱います。
- ソースファイル
Zoo.java
をコンストラクタに直接フィールドの初期値を与えるように変更しなさい。
- javac コマンドでコンパイルをしなさい。
- java コマンドを通じてプログラムを実行し、結果を確認しなさい。
基本課題5:「簡単なクラスの設計(その3)」
象のデータを表す単純なクラスの定義を修正します。
- ソースファイル
Elephant.java
にさらに toString()メソッドを追加しなさい。
- javac コマンドでコンパイルをしなさい。
- このプログラムは単独では実行できません。
次の課題に進みなさい。
基本課題6:「クラスのオブジェクトの生成(その3)」
前の課題で定義したクラスのオブジェクトを取り扱います。
- ソースファイル
Zoo.java
を toString()メソッドでデータを表示するように変更しなさい。
- javac コマンドでコンパイルをしなさい。
- java コマンドを通じてプログラムを実行し、結果を確認しなさい。
基本課題7:「オブジェクトの配列の利用」
前の課題の複数のデータを配列として取り扱います。
- ソースファイル
Zoo.java
を配列でデータを取り扱うように変更しなさい。
- javac コマンドでコンパイルをしなさい。
- java コマンドを通じてプログラムを実行し、結果を確認しなさい。
基本課題8:「オブジェクトの配列の利用(2)」
配列にデータを追加します。
- ソースファイル Zoo.java
を変更し、4頭の象を取り扱えるようにしなさい。
4頭目の象のデータを追加し、表示できるようにしなさい。
新しい象の名前や年齢は適当に考えなさい。
- javac コマンドでコンパイルをしなさい。
- java コマンドを通じてプログラムを実行し、結果を確認しなさい。
基本課題9:「簡単なクラスの設計(その4)」
新しいクラスを定義します。
-
課題5を参考にして、パンダのデータを取り扱うための新しいクラス Panda
を定義しなさい。
Elephantと同じく「名前」と「年齢」のデータを内部に持ち、
2個の引数を持つコンストラクタと toString()メソッドを定義しなさい。
- javac コマンドでコンパイルをしなさい。
- このプログラムは単独では実行できません。
次の課題に進みなさい。
基本課題10:「クラスのオブジェクトの生成(その4)」
前の課題で定義したクラスのオブジェクトを取り扱います。
- ソースファイル Zoo.java
を変更し、動物園に2匹のパンダを配列の形式を用いて追加しなさい。
パンダの名前は "Wakwak" と "Hokhok"、年齢はどちらも3歳とします。
- javac コマンドでコンパイルをしなさい。
- java コマンドを通じてプログラムを実行し、結果を確認しなさい。
今週のレポート課題(学内用):
ここまでの課題が終わった人は、下記の項目を
tatsuo宛のメール
で報告しなさい。(Subjectは program9)
- 課題9と課題10 のソースプログラム(Panda.java と Zoo.java)の内容
応用課題:「別のクラスの定義」
今日の実習のサンプルを参考にして、
特定のデータを表すクラスと、その内容を表示するためのクラスを設計してみなさい。
必要となるフィールドやメソッド、コンストラクタの形式は自分で考えてください。
例:学生のデータを管理するためのクラス "Student" と、
その一覧を表示するクラス "Office" 。
実習の目次
今週の講義の内容