如何编写accessor和mutator?

时间:2014-10-18 07:44:39

标签: java

计算气体损失量并将汽车当前的气体容量设置为新值。 我忘记将此部分添加到问题中。气体量不超过顶部气体容量。我想知道这是对的吗?

    private final int GAS_CAP = 30 

    public int getGasCapacity(int gasCapacity)
    {
      if(currentGas <= GAS_CAP)
      {
        gasCapacity = GAS_CAP - currentGas;
      }
     else gasCapacity = currentGas;
         return gasCapacity;
   }

2 个答案:

答案 0 :(得分:1)

您的方法不会改变对象的状态,它只返回一个值。您只需为方法的gasCapacity参数指定一个值,该参数是方法的本地参数。

如果它应该改变一些东西,那么你就错了。

此外,您没有对gasCapacity变量中传递给您的方法的值做任何事情,因此您的逻辑似乎不正确。

答案 1 :(得分:1)

你可能需要两种方法,一种是获取当前的气体(访问者),一种是设置它(变异器)。

public int getGasLost(){
    return GAS_CAP - currentGas;
}

public void setGasCapacity(int gasCapacity){
    GAS_CAP = gasCapacity;
}

但是,由于GAS_CAP似乎是final值,您无法更改它,是否可以确认?