我正在尝试正确创建一个正确实现设备能耗的类。这包括它使用的水,气体或电量,以及设备是否打开或关闭,以及最后使用设备的时间。当所有这些因素都正确实施后,这些信息将被传递到各种计量器上,这些计量器将计算与之相关的所有设备的使用情况。
目前,我还没有编写任何要输出的内容,我仍然专注于构建每个设备,以便它可以正确地注册这些信息,以便以后可以将它传递到各自的仪表上。
应注册的信息类型如下:
useTime()
- 注册设备的使用时间。currentState()
- 如果设备已开启或关闭。cook()
或shower()
)。这是我到目前为止为我的一个设备提出的:
GasCooker设备
public class GasCooker extends Cooker
{
public int isOn = -1;
public int isOff = 0;
public int totalTime;
public int incrementTime;
@Override
public int currentState(int x)
{
x = -1;
if (x == 0)
return isOff;
else
return isOn;
//returns isOn;
}
@Override
public void useTime(int defaultTime)
{
defaultTime = 15;
incrementTime = 4;
}
public void cook()
{
//add code for coker to cook;
}
GasCooker(int electricityUse, int gasUse, int waterUse, int timeOn)
{
super(electricityUse, gasUse, waterUse, timeOn);
totalTime = 15 * incrementTime;
electricityUse = 0 * incrementTime;
gasUse = 4 * incrementTime;
waterUse = 0 * incrementTime;
timeOn = 60 * incrementTime;
}
}
此设备是Cooker
类的子类,如下所示:
电磁炉
public abstract class Cooker extends Appliance
{
public int isOn = -1;
public int isOff = 0;
@Override
public int currentState(int x)
{
x = -1;
if (x == 0)
return isOff;
else
return isOn;
//returns isOn;
}
public abstract void cook();
Cooker(int electricityUse, int gasUse, int waterUse, int timeOn)
{
super(electricityUse, gasUse, waterUse, timeOn);
}
}
这是从Appliance
电器
abstract public class Appliance
{
public abstract void useTime(int defaultTime);
public int currentState(int x)
{
int timeOn = -1;
int timeOff = 0;
x = 0;
if (x == 0)
return timeOff;
else
return timeOn;
}
Appliance(int electricityUse,int gasUse,int waterUse,int timeOn)
{
electricityUse = 0;
gasUse = 0;
waterUse = 0;
timeOn = 0;
}
}
我的主要问题是:
这是我的第一个任务,我必须定义自己的方法,所以对我的程序迄今为止的敏感性或如何改进的任何反馈都将非常感谢,谢谢。