簡體   English   中英

如何編寫存取器和增幅器?

[英]how to write accessor and mutator?

計算損失的汽油量,並將汽車的當前汽油量設置為新值。 我忘記將這部分添加到問題中。 氣體量不超過最大氣體容量。 我想知道是這樣嗎?

    private final int GAS_CAP = 30 

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

您的方法不會改變對象的狀態,它只會返回一個值。 您只能為方法的gasCapacity參數分配一個值,該值是方法的局部值。

如果應該突變某些東西,那么您就錯了。

此外,您不會對gasCapacity變量中傳遞給您的方法的值做任何事情,因此您的邏輯似乎不正確。

為此,您可能需要兩種方法,一種是獲取當前氣體(訪問器),而另一種是設置它(更改器)。

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

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

但是,由於GAS_CAP似乎是一個final值,您將無法更改它,您可以確認嗎?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM