/* Il modello parziale di una automobile, rappresentata dal serbatoio tramite il livello del carburante */ public class Automobile { private double serbatoio; private static int numeroAuto = 0; /* Costruisce un oggetto automobile con serbatoio vuoto */ public Automobile() { serbatoio = 0; numeroAuto++; } /* Costruisce un oggetto automobile con serbatoio iniziale. @param serbatoioIniziale il livello del serbatoio iniziale */ public Automobile(double serbatoioIniziale) { serbatoio = serbatoioIniziale; numeroAuto++; } public void rifornire(double quanto) { this.serbatoio += quanto; } public void consumare(double quanto) { double livello = serbatoio - quanto; serbatoio = livello; } public double livello() { return serbatoio; } public static int getNumero() { return numeroAuto; } public void non_si_sa (Automobile that, double quanto) { this.serbatoio = that.serbatoio - quanto; that.serbatoio = this.serbatoio + quanto; } public void trasferisci (Automobile da, double ammontare) { this.rifornire(ammontare); da.consumare(ammontare); } }