応用練習問題④:インターフェース

インターフェースの実装を練習します。

応用問題4:インターフェース

参考:応用4日目

問題 4-1 ★

以下のプログラムが、期待された実行結果通りにプログラムが動くように、インターフェース IPhone、IMailer、IComputerを実装しなさい。

Java
package problemex4;

public class CellPhone implements IPhone,IMailer,IComputer{
    public void sendMail(){
        System.out.println("メールを送る");
    }
    public void recieveMail(){
        System.out.println("メールを受信する");
    }
    public void borwseWeb(){
        System.out.println("ウェブを閲覧する");
    }
    public void playGame(){
        System.out.println("ゲームをする");
    }
    public void callPhone(){
        System.out.println("電話を掛ける");
    }
    public void recievePhone(){
        System.out.println("電話を受ける");
    }
}
Java
package problemex4;

public class Problemex4_1 {
    public static void main(String[] args) {
        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();
    }
}
期待する実行結果
電話を掛ける
電話を受ける
メールを送る
メールを受信する
ゲームをする
ウェブを閲覧する
問題 4-2 ★

以下のプログラムが、期待された実行結果通りにプログラムが動くように、インターフェース IAlarm、IClockおよび、Problemex4_2のmainメソッド内を実装しなさい。

Java
package 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("時刻を修正する");
    }
}
Java
package problemex4;

public class Problemex4_2 {
    public static void main(String[] args) {
        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();
    }
}
期待する実行結果
アラームをセットする
アラームを鳴らす
アラームを止める
時刻を修正する
時刻を知る