parent
bff004d11f
commit
a90aa86705
@ -0,0 +1,140 @@
|
||||
/**
|
||||
* 智能电视类
|
||||
* 实现了Device、BrightnessAdjustable、MediaPlayable和Timable接口
|
||||
*/
|
||||
public class SmartTV implements Device, BrightnessAdjustable, MediaPlayable, Timable {
|
||||
private String name;
|
||||
private boolean on;
|
||||
private int brightness;
|
||||
private String currentMedia;
|
||||
private String playbackStatus;
|
||||
private int timerMinutes;
|
||||
private boolean timerSet;
|
||||
|
||||
public SmartTV(String name) {
|
||||
this.name = name;
|
||||
this.on = false;
|
||||
this.brightness = 70; // 默认亮度70%
|
||||
this.currentMedia = null;
|
||||
this.playbackStatus = "停止";
|
||||
this.timerMinutes = 0;
|
||||
this.timerSet = false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void turnOn() {
|
||||
if (!on) {
|
||||
on = true;
|
||||
System.out.println(name + " 智能电视已开启");
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void turnOff() {
|
||||
if (on) {
|
||||
on = false;
|
||||
playbackStatus = "停止";
|
||||
System.out.println(name + " 智能电视已关闭");
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isOn() {
|
||||
return on;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void increaseBrightness(int level) {
|
||||
if (on) {
|
||||
brightness = Math.min(100, brightness + level);
|
||||
System.out.println(name + " 亮度已增加到: " + brightness + "%");
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void decreaseBrightness(int level) {
|
||||
if (on) {
|
||||
brightness = Math.max(0, brightness - level);
|
||||
System.out.println(name + " 亮度已降低到: " + brightness + "%");
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setBrightness(int brightness) {
|
||||
if (on) {
|
||||
if (brightness >= 0 && brightness <= 100) {
|
||||
this.brightness = brightness;
|
||||
System.out.println(name + " 亮度已设置为: " + brightness + "%");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getCurrentBrightness() {
|
||||
return brightness;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void play(String mediaName) {
|
||||
if (on) {
|
||||
this.currentMedia = mediaName;
|
||||
this.playbackStatus = "播放中: " + mediaName;
|
||||
System.out.println(name + " 正在播放: " + mediaName);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void pause() {
|
||||
if (on && "播放中: " + currentMedia.equals(playbackStatus)) {
|
||||
this.playbackStatus = "暂停: " + currentMedia;
|
||||
System.out.println(name + " 已暂停播放");
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void stop() {
|
||||
if (on) {
|
||||
this.playbackStatus = "停止";
|
||||
this.currentMedia = null;
|
||||
System.out.println(name + " 已停止播放");
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getPlaybackStatus() {
|
||||
return playbackStatus;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setTimer(int minutes) {
|
||||
if (on && minutes > 0) {
|
||||
this.timerMinutes = minutes;
|
||||
this.timerSet = true;
|
||||
System.out.println(name + " 已设置定时器: " + minutes + " 分钟后关闭");
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void cancelTimer() {
|
||||
if (timerSet) {
|
||||
this.timerSet = false;
|
||||
this.timerMinutes = 0;
|
||||
System.out.println(name + " 定时器已取消");
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isTimerSet() {
|
||||
return timerSet;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getRemainingTime() {
|
||||
return timerMinutes;
|
||||
}
|
||||
}
|
||||
Loading…
Reference in new issue