如何正确构建设备?

时间:2016-11-30 01:39:31

标签: java oop data-structures extension-methods

我正在尝试正确创建一个正确实现设备能耗的类。这包括它使用的水,气体或电量,以及设备是否打开或关闭,以及最后使用设备的时间。当所有这些因素都正确实施后,这些信息将被传递到各种计量器上,这些计量器将计算与之相关的所有设备的使用情况。

目前,我还没有编写任何要输出的内容,我仍然专注于构建每个设备,以便它可以正确地注册这些信息,以便以后可以将它传递到各自的仪表上。

应注册的信息类型如下:

  • 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; 
}

}

我的主要问题是:

  • 这些类看起来像是用于注册此信息的合理类吗?
  • 如果没有,我误解了哪一部分?

这是我的第一个任务,我必须定义自己的方法,所以对我的程序迄今为止的敏感性或如何改进的任何反馈都将非常感谢,谢谢。

0 个答案:

没有答案