Vytvořte následující objektovou hierarchii:
- Rozhraní IVehicle - deklaruje metody:
- double Refuel(double amountOfFuel) - doplní amountOfFuel paliva do nádrže.
- int Go(int distance) - pokusí se ujet vzdálenost distance. Pokud na ujetí této vzdálenosti nestačí palivo, nikam nejede. Metoda vrací ujetou vzdálenost.
- double GetConsumption() - metoda vrací spotřebu vozidla.
- int GetDistance() - metoda vrací celkovou ujetou vzdálenost.
- Vytvořte abstraktní třídu AbstractVehicle - implementuje rozhraní IVehicle, tak abyste se vyhnuli zbytečnému opakování kódu ve třídách Car a Plane s tím, že navíc:
- bude obsahovat konstruktor s průměrnou spotřebou - hodnota typu double
- překryje metodu ToString tak, aby vracela:
distance km so far and remains fuel l of fuel.
- Třída Car - je potomkem abstraktní třídy AbstractVehicle s tím, že navíc:
- bude obsahovat konstruktor, který bude mít parametry id - řetězec s identifikátorem a průměrnou spotřebu - hodnota typu double
- překryje metodu ToString tak, aby vracela řetězec
Car id has gone distance km so far and remains fuel l of fuel.
- Třída Plane - je potomkem abstraktní třídy AbstractVehicle s tím, že navíc:
- bude obsahovat konstruktor, který bude mít parametry id - řetězec s imatrikulací letadla a průměrnou spotřebu - hodnota typu double
- překryje metodu ToString tak, aby vracela řetězec
Plane with imatriculation id has flown distance km so far and remains fuel l of fuel.
- Vytvoříte třídu Demo spustitelnou z příkazové řádky, která provede následující kroky:
- Do vhodné datové struktury (pole/kolekce) postupně přidáte
- auto s id 1B1111 se spotřebou 5 l/100 km
- auto s id 2A2222 se spotřebou 50 l/100 km
- letadlo s imatrikulací OK-CAB a spootřebou 20 l/100 km
- letadlo s imatrikulací OK-BAC a spotřebou 50 l/100 km.
- Do aut natankujete 40 l paliva.
- Do letadel natankujete 100 l paliva.
- Vypíšete aktuální stav všech dopravních prostředků
- S autem 1B1111 ujedete 600 km, s autem 2A2222 75 km. S letadlem OK-CAB uletíte 490 km a s letadlem OK-BAC 190 km. Pokaždé vypíšete vzdálenost, kterou vrátila metoda go.
- Vypíšete stav všech dopravních prostředků.
- S autem 1B1111 se pokusíte ujet 220 km, s autem 2A2222 10 km. S letadlem OK-CAB se pokusíte uletět 20 km a s letadlem OK-BAC 20 km. Pokažde vypíšete vzdálenost, kterou vrátila metoda go.
- Vypíšete stav všech dopravních prostředků.
- Do aut dotankujete 40 l paliva do letadel 100 l.
- Zopakujete kroky 7 a 8.