/** * 智能空调类 * 实现了Device和TemperatureAdjustable接口 */ public class SmartAirConditioner implements Device, TemperatureAdjustable { private String name; private boolean on; private int temperature; private final int minTemp = 16; private final int maxTemp = 30; public SmartAirConditioner(String name) { this.name = name; this.on = false; this.temperature = 25; // 默认温度25度 } @Override public String getName() { return name; } @Override public void turnOn() { if (!on) { on = true; System.out.println(name + " 空调已开启,当前温度: " + temperature + "°C"); } } @Override public void turnOff() { if (on) { on = false; System.out.println(name + " 空调已关闭"); } } @Override public boolean isOn() { return on; } @Override public void increaseTemperature(int degree) { if (on && temperature + degree <= maxTemp) { temperature += degree; System.out.println(name + " 温度已增加到: " + temperature + "°C"); } else if (temperature + degree > maxTemp) { System.out.println(name + " 已达到最高温度: " + maxTemp + "°C"); temperature = maxTemp; } } @Override public void decreaseTemperature(int degree) { if (on && temperature - degree >= minTemp) { temperature -= degree; System.out.println(name + " 温度已降低到: " + temperature + "°C"); } else if (temperature - degree < minTemp) { System.out.println(name + " 已达到最低温度: " + minTemp + "°C"); temperature = minTemp; } } @Override public void setTemperature(int temperature) { if (on) { if (temperature >= minTemp && temperature <= maxTemp) { this.temperature = temperature; System.out.println(name + " 温度已设置为: " + temperature + "°C"); } else { System.out.println(name + " 温度超出范围,请设置在 " + minTemp + "-" + maxTemp + "°C 之间"); } } } @Override public int getCurrentTemperature() { return temperature; } }