思路:
/* 多彩的声音 实现一个Soundable发声接口 具有发声功能,调节音量大小功能 Soundable接口的这些功能将由3种声音设备来实现, 他们分别是收音机Radio、随身听Walkman、手机MobilePhone 最后设计一个应用程序类来使用这些实现Soundable接口的声音设备。 程序运行时,先询问用户想要连接哪个设备, 用户选择设备后,按照对应设备的工作方式打印发出的声音 1.包含的接口 发声接口Soundable,Soundable接口的有三个声音设备实现类实现了Soundable接口,分别是 收音机类 Radio 随身听类 Walkman 手机类 Mobilephone 2.Radio、Walkman和MobilePhone这三个声音设备实现类需要分别实现Soundable接口的相关功能。 3.然后,设计一个应用程序类来使用这些实现Soundable接口的声音设备 4.编写测试类,在main()方法中编写程序,使用户可以自主选择要是用的设备 */
代码:
代码结构:
测试类:
package base.base009;
/*
多彩的声音
实现一个Soundable发声接口
具有发声功能,调节音量大小功能
Soundable接口的这些功能将由3种声音设备来实现,
他们分别是收音机Radio、随身听Walkman、手机MobilePhone
最后设计一个应用程序类来使用这些实现Soundable接口的声音设备。
程序运行时,先询问用户想要连接哪个设备,
用户选择设备后,按照对应设备的工作方式打印发出的声音
1.包含的接口
发声接口Soundable,Soundable接口的有三个声音设备实现类实现了Soundable接口,分别是
收音机类 Radio
随身听类 Walkman
手机类 Mobilephone
2.Radio、Walkman和MobilePhone这三个声音设备实现类需要分别实现Soundable接口的相关功能。
3.然后,设计一个应用程序类来使用这些实现Soundable接口的声音设备
4.编写测试类,在main()方法中编写程序,使用户可以自主选择要是用的设备
*/
import java.util.Scanner;
public class Test09 {
public static void main(String[] args) {
System.out.println("请输入想要连接的设备");
System.out.println("1:收音机");
System.out.println("2:随身听");
System.out.println("3:手机");
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
UseSound user = new UseSound();
if(a==1){
System.out.println("~~~~~~~~~~~~~~~~~~~~收音机~~~~~~~~~~~~~~~~~~~~");
user.use(new Radio());
}
else if(a==2){
System.out.println("~~~~~~~~~~~~~~~~~~~~随身听~~~~~~~~~~~~~~~~~~~~");
user.use(new Walkman());
}
else if(a==3){
System.out.println("~~~~~~~~~~~~~~~~~~~~手机~~~~~~~~~~~~~~~~~~~~");
user.use(new Mobilephone());
}
else{
System.out.println("输入的数据有误,请重新输入");
}
}
}
Mobilephone类
package base.base009;
public class Mobilephone implements Soundable {
@Override
public void playSound() {
System.out.println("已匹配手机设备,即将播放《Susan说》...");
}
@Override
public void lower() {
System.out.println("已降低音量");
}
@Override
public void stopSound() {
System.out.println("音乐已暂停...");
}
}
Radio类:
package base.base009;
public class Radio implements Soundable{
@Override
public void playSound() {
System.out.println("播放深夜电台,正在朗诵《红与黑》......");
}
@Override
public void lower() {
System.out.println("已降低音量");
}
@Override
public void stopSound() {
System.out.println("电台已暂停...");
}
}
Soundable接口:
package base.base009;
/*
抽象方法:
播放声音 playSound();
调节音量 lower();
关闭声音 stopSound();
*/
public interface Soundable {
public abstract void playSound();
public abstract void lower();
public abstract void stopSound();
}
UseSound类:
package base.base009;
import java.util.Scanner;
public class UseSound {
public void use(Soundable s){
s.playSound();
System.out.println("是否要降低音量? 1--是;2--否");
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
if(a == 1){
s.lower();
System.out.println("是否要关闭设备? 1--是");
int b = sc.nextInt();
if(b == 1){
s.stopSound();
}else{
System.out.println("音乐播放中...");
}
}else if(a == 2){
System.out.println("是否要关闭设备? 1--是");
int b = sc.nextInt();
if(b == 1){
s.stopSound();
}else{
System.out.println("音乐播放中...");
}
}
else{
System.out.println("请重新输入!");
}
}
}
Walkman类:
package base.base009;
public class Walkman implements Soundable {
@Override
public void playSound() {
System.out.println("您正在使用随身听设备,即将播放《春风吹》...");
}
@Override
public void lower() {
System.out.println("已降低音量");
}
@Override
public void stopSound() {
System.out.println("音乐已暂停...");
}
}