応用問題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();
}
}
期待する実行結果
アラームをセットする
アラームを鳴らす
アラームを止める
時刻を修正する
時刻を知る
アラームを鳴らす
アラームを止める
時刻を修正する
時刻を知る