・   「Java言語」実習 第12回

クラスの継承(その2)

java.lang.Objectクラスの存在、 抽象メソッドやメソッドの再定義について練習します。


・ 準備1(学内向け):
ディレクトリ java2 に移動しなさいなさい。 その中で以下の作業を行いなさい。 (まだ作成していない人は、 各自のホームディレクトリの下に、 後期のJavaの課題の作業用のディレクトリ java2 を作成しなさい。)


・ 基本課題1:「個人情報を扱うクラス」

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

・ 基本課題2:「Personクラスの利用例」

  1. ソースファイル PersonTest.java を作成しなさい。
  2. javac コマンドでコンパイルをしなさい。
  3. javaコマンドで実行し、結果を確認しなさい。
  4. Personのコンストラクタに与えるデータを変更し、 コンパイルと実行をしなさい。結果の変化を確認しなさい。

・ 基本課題3:「住所を扱うクラスの設計」

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

・ 基本課題4:「住民の情報を扱うクラス」

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

・ 基本課題5:「Citizenクラスの利用例」

  1. ソースファイル CitizenTest.java を作成しなさい。
  2. javac コマンドでコンパイルをしなさい。
  3. javaコマンドで実行し、結果を確認しなさい。
  4. Citizenのコンストラクタに与えるデータを変更し、 コンパイルと実行をしなさい。結果の変化を確認しなさい。

・ 基本課題6:「Citizenクラスの継承関係の確認」

  1. ソースファイル CitizenTest2.java を作成しなさい。
  2. javac コマンドでコンパイルをしなさい。
  3. javaコマンドで実行し、結果を確認しなさい。

・ 基本課題7:「クラスの拡張」

  1. PersonもしくはCitizenのいずれかを継承し、 新しい情報を付加したクラスを適当な名前で定義してみなさい。

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

  1. 本文には学籍番号と氏名
  2. 課題7で設計した新しいクラスのソースファイルを添付しなさい。

・ 応用課題1:「Labelクラスの継承関係」

  1. ソースファイル LabelTest.java を作成しなさい。
  2. javac コマンドでコンパイルをしなさい。
  3. javaコマンドで実行し、結果を確認しなさい。

・ 応用課題2:「Frameクラスの継承関係」

  1. 同様にして、Frameクラスについてもスーパクラスを調べる プログラムを作成してみなさい。 ただし、継承関係がさらに複雑なはずなので、最後までたどれるように プログラムを変更する必要があります。

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