面向对象设计:模拟声音设备系统
类图:
[图片]
Java 代码:
interface Soundable {
void play();
void changeVolume();
void stop();
}
class MP3 implements Soundable {
@Override
public void play() {
System.out.println("MP3 播放音乐...");
}
@Override
public void changeVolume() {
System.out.println("MP3 调整音量...");
}
@Override
public void stop() {
System.out.println("MP3 关机...");
}
}
class Phone implements Soundable {
@Override
public void play() {
System.out.println("手机 播放铃声...");
}
@Override
public void changeVolume() {
System.out.println("手机 调整铃声音量...");
}
@Override
public void stop() {
System.out.println("手机 关机...");
}
}
class SmartPhone extends Phone {
@Override
public void play() {
System.out.println("智能手机 播放音乐...");
}
}
class SampleDisplay {
public void display(Soundable sound) {
sound.play();
System.out.print("是否调整音量(1:是,2:否):");
int input = Scanner.nextInt();
if (input == 1) {
sound.changeVolume();
}
System.out.print("是否关机(1:是,2:否):");
input = Scanner.nextInt();
if (input == 1) {
sound.stop();
}
}
}
public class Main {
public static void main(String[] args) {
SampleDisplay display = new SampleDisplay();
System.out.print("选择设备(1:MP3,2:手机,3:智能手机):");
int input = Scanner.nextInt();
Soundable sound;
switch (input) {
case 1:
sound = new MP3();
break;
case 2:
sound = new Phone();
break;
case 3:
sound = new SmartPhone();
break;
default:
System.out.println("无效输入。");
return;
}
display.display(sound);
}
}
2.21KB
文件大小:
评论区