2012-04-18 29 views
0

我正在做一個任務,我需要爲汽車模擬器創建3個類。一個是燃料,一個是里程。 「里程班應該能夠使用FuelGauge對象,它應該將FuelGauge對象的當前燃油量減少1加侖,每行駛24英里(該車的燃油經濟性爲每加侖24英里)。」我只是在理解如何正確地將課程連接到一起以便他們能夠做到必要的事情上掙扎。需要java類協作/聚合的解釋

從某人的一個很好的解釋將不勝感激。

回答

0

我希望我能正確理解你的問題。 簡單的答案是,FuelGauge類將具有屬性數量,可通過簡單的setter/getter訪問。

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對象,在構造函數中傳遞,並且可以通過FuelGague類的公共方法來操縱。我爲Mileage類添加了設置方法,因此您甚至可以設置不同的FuelGague類對象。