java实现对空调、风扇、电灯的能耗控制
时间: 2023-08-10 09:03:54 浏览: 47
好的,您可以参考以下的 Java 代码实现空调、风扇、电灯的能耗控制:
首先,我们可以定义一个抽象类 EnergyAppliance 表示能源设备,其中包含了设备的名称和当前能耗:
```
public abstract class EnergyAppliance {
private String name;
private double energy;
public EnergyAppliance(String name) {
this.name = name;
this.energy = 0.0;
}
public String getName() {
return name;
}
public double getEnergy() {
return energy;
}
public void setEnergy(double energy) {
this.energy = energy;
}
public abstract void turnOn();
public abstract void turnOff();
}
```
接下来,我们可以定义三个子类 AirConditioner、Fan 和 Light 分别表示空调、风扇和电灯。这三个子类都继承自 EnergyAppliance,并实现了 turnOn() 和 turnOff() 方法,用于控制设备的开关,并更新设备的能耗:
```
public class AirConditioner extends EnergyAppliance {
private boolean isOn;
public AirConditioner() {
super("Air Conditioner");
isOn = false;
}
@Override
public void turnOn() {
isOn = true;
setEnergy(getEnergy() + 1.5);
}
@Override
public void turnOff() {
isOn = false;
}
}
public class Fan extends EnergyAppliance {
private boolean isOn;
public Fan() {
super("Fan");
isOn = false;
}
@Override
public void turnOn() {
isOn = true;
setEnergy(getEnergy() + 0.5);
}
@Override
public void turnOff() {
isOn = false;
}
}
public class Light extends EnergyAppliance {
private boolean isOn;
public Light() {
super("Light");
isOn = false;
}
@Override
public void turnOn() {
isOn = true;
setEnergy(getEnergy() + 0.2);
}
@Override
public void turnOff() {
isOn = false;
}
}
```
最后,我们可以在主函数中创建这三个设备的实例,并控制它们的开关状态:
```
public static void main(String[] args) {
AirConditioner ac = new AirConditioner();
Fan fan = new Fan();
Light light = new Light();
// 打开空调、风扇和电灯
ac.turnOn();
fan.turnOn();
light.turnOn();
// 关闭电灯
light.turnOff();
// 输出当前能耗
System.out.println(ac.getName() + " energy: " + ac.getEnergy());
System.out.println(fan.getName() + " energy: " + fan.getEnergy());
System.out.println(light.getName() + " energy: " + light.getEnergy());
}
```
这样,我们就可以通过控制设备的开关状态,实现对空调、风扇、电灯的能耗控制,并统计它们的能源消耗量。