2012-04-18 7 views
0

私は車のシミュレータ用に3つのクラスを作る必要がある課題に取り組んでいます。 1つは燃料用、もう1つは走行用です。 「走行距離クラスは、FuelGaugeオブジェクトで動作する必要があります。走行距離が24マイルになると、FuelGaugeオブジェクトの現在の燃料量は1ガロン減ります(燃費はガロン当たり24マイルです)。クラスを適切にリンクして、必要なことができるようにする方法を理解することに本当に苦労しています。Javaクラスのコラボレーション/集計の説明が必要

誰かからの説明がうれしいです。

答えて

0

私はあなたの問題を正しく理解してくれることを願っています。 簡単な答えは、FuelGaugeクラスには属性量があり、単純なセッター/ゲッターでアクセスできるということです。

public class FuelGague { 

    private double amount; 
    // Starting amount of fuel 
    public FuelGague(double amount) { 
     this.amount = amount; 

    } 
    // Not sure if you really need this method for your solution. This is classic setter method. 
    public void setAmount(double amount) { 
     this.amount = amount; 
    } 

    public double getAmount() { 
     return amount; 
    } 
    // I guess this is what do you actually want to do 
    public void changeAmount(double difference) { 
     amount += difference; 
    } 

} 


public class Mileage { 

     private FuelGague fuelGague; 

     public Mileage(FuelGague fuelGague) { 
      this.fuelGague = fuelGague; 
     } 
     // This will be main method where you can decrease amount for guelGague 
     public void methodForMileage() { 
     fuelGague.changeAmount(-1); 
     } 

     public FuelGague getFuelGague() { 
     return fuelGague; 
    } 

    public void setFuelGague(FuelGague fuelGague) { 
     this.fuelGague = fuelGague; 
    } 

    public static void main(String[] args) 
    { 
      FuelGague fuelGague= new FuelGague(50); 
      Mileage mil = new Mileage(fuelGague);  
    } 
} 

あなたが見ることができるようにマイレージクラスは、コンストラクタに渡されたfuelGagueオブジェクトにrefferenceを持っており、それがFuelGagueクラスのパブリックメソッドによって操作することができます。 Mileageクラスのsetメソッドを追加して、異なるFuelGagueクラスオブジェクトを設定することさえできます。

関連する問題