「Java言語」実習 第12回
クラスの継承(その2)
java.lang.Objectクラスの存在、
抽象メソッドやメソッドの再定義について練習します。
準備1(学内向け):
ディレクトリ java2 に移動しなさいなさい。
その中で以下の作業を行いなさい。
(まだ作成していない人は、
各自のホームディレクトリの下に、
後期のJavaの課題の作業用のディレクトリ java2 を作成しなさい。)
基本課題1:「個人情報を扱うクラス」
- ソースファイル
Person.java を作成しなさい。
- javac コマンドでコンパイルをしなさい。
- このプログラムは単独では実行できません。
次の課題に進みなさい。
基本課題2:「Personクラスの利用例」
- ソースファイル
PersonTest.java を作成しなさい。
- javac コマンドでコンパイルをしなさい。
- javaコマンドで実行し、結果を確認しなさい。
- Personのコンストラクタに与えるデータを変更し、
コンパイルと実行をしなさい。結果の変化を確認しなさい。
基本課題3:「住所を扱うクラスの設計」
- ソースファイル
Address.java を作成しなさい。
- javac コマンドでコンパイルをしなさい。
- このプログラムは単独では実行できません。
次の課題に進みなさい。
基本課題4:「住民の情報を扱うクラス」
- ソースファイル
Citizen.java を作成しなさい。
- javac コマンドでコンパイルをしなさい。
- このプログラムは単独では実行できません。
次の課題に進みなさい。
基本課題5:「Citizenクラスの利用例」
- ソースファイル
CitizenTest.java を作成しなさい。
- javac コマンドでコンパイルをしなさい。
- javaコマンドで実行し、結果を確認しなさい。
- Citizenのコンストラクタに与えるデータを変更し、
コンパイルと実行をしなさい。結果の変化を確認しなさい。
基本課題6:「Citizenクラスの継承関係の確認」
- ソースファイル
CitizenTest2.java を作成しなさい。
- javac コマンドでコンパイルをしなさい。
- javaコマンドで実行し、結果を確認しなさい。
基本課題7:「クラスの拡張」
-
PersonもしくはCitizenのいずれかを継承し、
新しい情報を付加したクラスを適当な名前で定義してみなさい。
今週のレポート課題(学内用):
ここまでの課題が終わった人は、下記の項目を
tatsuo宛のメール
で報告しなさい。(Subjectは program15)
- 本文には学籍番号と氏名
- 課題7で設計した新しいクラスのソースファイルを添付しなさい。
応用課題1:「Labelクラスの継承関係」
- ソースファイル
LabelTest.java を作成しなさい。
- javac コマンドでコンパイルをしなさい。
- javaコマンドで実行し、結果を確認しなさい。
応用課題2:「Frameクラスの継承関係」
- 同様にして、Frameクラスについてもスーパクラスを調べる
プログラムを作成してみなさい。
ただし、継承関係がさらに複雑なはずなので、最後までたどれるように
プログラムを変更する必要があります。
実習の目次
今週の講義の内容