コンピュータ基礎および演習II

演習問題(中級・上級)

解答は earth.mlab.im.dendai.ac.jp/home/submit/1I-Computer2/[初級の出題日]/[学籍番号] のディレクトリに提出しなさい。 ソースファイル (〜.java) のみを提出すること。

ファイルの送信には ftp ソフトを用いる。 Linux の gFTP を使った提出方法 (実験室のマニュアル) を参照すること。

なお、中級・上級問題は楽しめる範囲で取り組めばよい。

問題1

以下のやり方はプログラムの設計方法として正しいか否かを判断しなさい。 ○×で答え、その理由を付記すること。 ファイル名は 20060112.txt とする。

  1. 大学には必ず学部があるので、学部クラスを継承する形で大学クラスをつくった。
  2. 大学にも高校にも入試があり、出願手続きなどの手順は似通っている。そこで入試インタフェースを定義して、大学クラスと高校クラスの両方にそのインタフェースを実装した。
  3. HDD(ハードディスクドライブ)も光学ドライブもドライブという点では共通なので、まずドライブクラスをつくり、それをHDDクラスと光学ドライブクラスに継承させた。
  4. マンション建設においては鉄骨が重要なので、鉄骨クラスを継承する形でマンションクラスをつくった。

問題2

この問題は上級者向けである。

DVD が再生可能なパソコンを持っているあなたは、 DVD プレーヤを買わずに、パソコンで DVD を視聴することにした。 なお、画面が小さいのは気にしない。

パソコンに DVD 再生ソフトをインストールすると、 DVD の再生、停止、取り出しなど、 単体の DVD プレーヤと同じ操作がパソコン上でできるようになる。 これは、パソコンが DVD プレーヤと同じインタフェースを持ったことを意味する。

DVD を見ることができるパソコンを表すクラス PCWithSoftwareDVDPlayer を、 パソコンを表すクラス PC を継承し、 インタフェース DVDPlayer を実装する形で定義しなさい。 インタフェース DVDPlayer は、 以前定義したクラス DVDPlayer と同等の操作を持つようにすること。 クラス PC の内容は問わない。

ファイル名は DVDWatcherWithPC.java とする。 視聴できる様子を main メソッドに書くこと。