問題
スマートフォンでの低価格な電話による通話を行うアプリケーションを
使った場合の通話をシュミレーションするプログラムを作成せよ.
本シュミレーションにおける要求項目は以下のとおりである.
-
プロジェクト ex2.zipを拡張して開発せよ.
特に既に定義されているインタフェースやクラスのコメント文は,
本問題の仕様の一部となっているので,注意深く読むこと.
-
特別なアプリケーション(仮にLとする)がインストールされていない場合,
通常の電話機能により,電話を行うことになり,
通話料金がかかるものとする.
単純化のため,一回の通話は30円とする.
-
スマートフォンには頻繁に通話する相手を登録してある電話帳が保存されている.
-
通常の電話の機能群はインタフェース Callable
(プロジェクト ex2.zipに含まれる)
で定義されている.
スマートフォンに相当するクラスはこのインタフェース Callable を実現すること.
-
スマートフォンに,
アプリケーション L をインストールし,
通話相手もLをインストールしている場合には,
電話の通話料金は無料となる.
-
アプリケーション L がインストール可能なスマートフォンの
持つべき機能群はインタフェース Linable
(プロジェクト ex2.zipに含まれる)
で定義されている.
スマートフォンに相当するクラスはこのインタフェース Linable を実現すること.
-
本演習では二者間の電話のみを対象としています.
上記は,流行のアプリ LINE を参考にしているが,
実際のLINEの機能と全く同じわけではありません.
必要条件と注意
-
上記にも述べたが,
教員から提供する
ex2.zip
をもとに開発を行うこと.
このプロジェクトには上記で述べたインタフェースが既に含まれている.
-
教科書の例題と同様に,
役割に基づきクラスをいくつか定義して,
オブジェクト指向でプログラミングせよ.
従来の構造化プログラミングに基づくだけのプログラムではダメです.
-
mainメソッドを含むクラスは,
個々の役割とは別に Ex2 というクラスに実現せよ.
-
javadocに必要なクラス,属性,メソッドのコメントを記述すること.
-
クラス,属性,メソッドの命名規則は授業説明したことに準拠すること.
-
クラスやインタフェースを必要に応じて複数種類,追加してもよい.
-
必ずエクリプスのプロジェクトとして作成し,
Zipアーカイブで提出せよ.
-
プロジェクトの名前およびフォルタおよびアーカイブの名前は,
ex2, ex2/ ex2.zip
とせよ.
-
ダウンロードしたプロジェクトの名前を変更する場合は
[HTML]
の「プロジェクトやクラス等の名前を変更する 」
に目を通してください.
提出期限・提出法
ざっと見た感想
インタフェース定義が結構適当だったので,
難儀した人が多かった模様.すまぬ.
解答例
[ZIP]