Ve jmeném prostoru cars vytvořte třídu Car, která bude mít atributy Výrobce a Motor. Výrobce bude libovolný řetězec, motor bude instance třídy Engine ze jmeného prostoru cars.engines. Třída bude mít konstruktor se 2 parametry Car(výrobce, motor) a metody Motor changeEngine(novýMotor). Dále bude mít metodu ToString(), která vrátí řetězec <Výrobce>: <Motor>

Motor bude mít atributy Výrobce a Spotřeba. Výrobce je libovolný řetězec, spotřeba je reálné číslo. Třída bude mít konstruktor Motor(Výrobce, Spotřeba), void vylad(nováSpotřeba), která změní spotřebu motoru na hodnotu nová spotřeba a opět metodu ToString(), která vrátí řetězec (<Výrobce>:<Spotřeba> l).

Ve jmeném prostoru Program vytvořte třídu Demo, která bude obsahovat metodu pro spuštění aplikace z přikazové řádky, která udělá následující:

  1. vytvoří motor od výrobce1 se spotřebou 5,5 l
  2. vytvoří auto od výrobce výrobceAut1 s motorem vztvořeným v kroku 1.
  3. Výpíše informace o autě na standardní výstup.

Následně do třídy Car doplňte metodu tuneEngine(double novaSpotreba), která vyladí motor na hodnotu novaSpotreba.

V Demo programu doplňte volání metody tuneEngine a následný výpis informací o autě.

 

Do auta přidejte atribut nádrž, který bude typu double a bude obsahovat aktuální stav paliva. Dále doplňte metodu ujed(int vzdálenost [km]). Metoda spotřebuje palivo nutné pro ujetí dané vzdálenosti.