この問題を解くためには… |
→ 応用編第4日目参照 |
---|
問題4:インターフェース
prob4-1.(難易度:★)
以下のプログラムが、期待された実行結果通りにプログラムが動くように、インターフェースICellPhone、IComputer、IMailerを実装しなさい。
probex4-1:CellPhone.javapackage problemex4; public class CellPhone implements IPhone,IMailer,IComputer{ // メールを送信する public void sendMail(){ System.out.println("メールを送る"); } // メールを受信する public void recieveMail(){ System.out.println("メールを受信する"); } // webを閲覧する public void borwseWeb(){ System.out.println("ウェブを閲覧する"); } // ゲームをする public void playGame(){ System.out.println("ゲームをする"); } // 電話をかける public void callPhone(){ System.out.println("電話を掛ける"); } // 電話を受ける public void recievePhone(){ System.out.println("電話を受ける"); } }
package problemex4; public class Problemex4_1 { public static void main(String[] args) { // TODO 自動生成されたメソッド・スタブ CellPhone cp = new CellPhone(); funcPhone(cp); funcMailer(cp); funcComputer(cp); } // 電話としての処理 public static void funcPhone(IPhone phone){ phone.callPhone(); // 電話を掛ける phone.recievePhone(); // 電話を受ける } // メーラーとしての処理 public static void funcMailer(IMailer mailer){ mailer.sendMail(); // メールを送信する mailer.recieveMail(); // メールを受信する } // コンピュータとしての処理 public static void funcComputer(IComputer computer){ computer.playGame(); // ゲームをする computer.borwseWeb(); // ウェブを閲覧する } }
電話を掛ける
電話を受ける
メールを送る
メールを受信する
ゲームをする
ウェブを閲覧する
電話を受ける
メールを送る
メールを受信する
ゲームをする
ウェブを閲覧する
prob4-2.(難易度:★)
以下のプログラムが、期待された実行結果通りにプログラムが動くように、インターフェースIAlarm、IClockおよび、Problemex4_2のmainメソッド内を実装しなさい。
probex4-2:AlarmClock.javapackage problemex4; // アラームつき時計クラス public class AlarmClock implements IClock,IAlarm{ public void alarm(){ System.out.println("アラームを鳴らす"); } public void setAlarm(){ System.out.println("アラームをセットする"); } public void stopAlarm(){ System.out.println("アラームを止める"); } public void showTime(){ System.out.println("時刻を知る"); } public void adjustTime(){ System.out.println("時刻を修正する"); } }
package problemex4; public class Problemex4_2 { public static void main(String[] args) { // TODO 自動生成されたメソッド・スタブ AlarmClock ac = new AlarmClock(); // アラーム付き時計クラスのインスタンスを生成 } // アラームとしての処理 public static void funcAlarm(IAlarm alarm){ alarm.setAlarm(); // アラームのセット alarm.alarm(); // アラームを鳴らす alarm.stopAlarm(); // アラームを止める } // 時計としての処理 public static void funcClock(IClock clock){ clock.adjustTime(); // 時間を調整する clock.showTime(); // 時間を表示する } }
アラームをセットする
アラームを鳴らす
アラームを止める
時刻を修正する
時刻を知る
アラームを鳴らす
アラームを止める
時刻を修正する
時刻を知る