【发声接口程序】
1、案例描述
2、案例目的
(1)学会分析“发声接口程序”案例的实现思路
(2)完成“发声接口程序”的代码编写、编译及运行
(3)掌握接口的实现方式
3、运行结果
4、代码实现
Soundable.java (接口)
package cn.itcast.example;
public interface Soundable {
//发出声音
public void playSound();
//降低声音
public void decreaseVolume();
//停止声音
public void stopSound();
}
SampleDisplay.java
package cn.itcast.example;
import java.util.Scanner;
public class SampleDisplay {
public void display(Soundable soundable) {
soundable.playSound();
System.out.println("您是否要降低声音?");
System.out.println("1-是 2-否");
Scanner in = new Scanner(System.in);
if(in.nextLine().equals("1")) {
soundable.decreaseVolume();
}
System.out.println("您是否要关机?");
System.out.println("1-是 2-否");
Scanner ins = new Scanner(System.in);
if(in.nextLine().equals("1")) {
soundable.stopSound();
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
}
}
Radio.java
package cn.itcast.example;
public class Radio implements Soundable {
@Override
public void playSound() {
System.out.println("收音机播放广播:第八套小学生广播体操");
}
@Override
public void decreaseVolume() {
System.out.println("已降低收音机音量。");
}
@Override
public void stopSound() {
System.out.println("已关闭收音机。");
}
public static void main(String[] args) {
// TODO Auto-generated method stub
}
}
Walkman.java
package cn.itcast.example;
public class Walkman implements Soundable{
@Override
public void playSound() {
System.out.println("正在播放歌曲:七里香");
}
@Override
public void decreaseVolume() {
System.out.println("已降低随身听音量");
}
@Override
public void stopSound() {
System.out.println("已关闭随身听");
}
public static void main(String[] args) {
// TODO Auto-generated method stub
}
}
MobilePhone.java
package cn.itcast.example;
public class MobilePhone implements Soundable{
@Override
public void playSound() {
System.out.println("手机发出来电铃声:叮当、叮当");
}
@Override
public void decreaseVolume() {
System.out.println("已降低手机音量");
}
@Override
public void stopSound() {
System.out.println("已关闭手机");
}
public static void main(String[] args) {
// TODO Auto-generated method stub
}
}
TestDemo.java
package cn.itcast.example;
import java.util.Scanner;
public class TestDemo {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner in = new Scanner(System.in);
System.out.println("你想听什么?请输入:");
System.out.println("0-收音机 1-随身听 2-手机");
int choice;
choice = in.nextInt();
SampleDisplay sampledisplay = new SampleDisplay();
if(choice == 0)
sampledisplay.display(new Radio());
else if (choice == 1)
sampledisplay.display(new Walkman());
else if(choice == 2)
sampledisplay.display(new MobilePhone());
else
System.out.println("您的输入有误,请重新输入!");
in.close();
}
}