1. Ve jmenném prostoru ObjectDemo.Parts vytvořte třídu Engine, která bude mít atributy:
- thrust - double, tah motoru v tunách
- consumption - double, spotřeba motoru v tunách/hodinu.
Dále bude tato třída obsahovat metody:
- umožňující získat/nastavit hodnoty atributů
- public override string ToString(), která vrátí řetězec ve tvaru: "Engine: consumption: spotřeba, thrust: tah"
2. Ve jmeném prostoru ObjectDemo.Planes vytvořte třídu Plane, která bude mít atributy:
- engine - Engine, motor, pohánějící letadlo
- weight - double, váha letadla
- fuel - double, množství paliva v tunách, váha paliva se nezapočítává do váhy letadla
Třída bude obsahovat metody:
- umožňující získa/nastavit hodnoty atributů
- public override string ToString(), která vrátí řetězec ve tvaru: "Plane: weigth: váha letadla, fuel: množství paliva, info o motoru", informace o motoru se získají pomocí jeho metody ToString().
- public bool CanFly(int hours) - vrací, zda má letadlo dost paliva na hours hodin letu a zda tah motoru převyšuje váhu letadla (bez započtění váhy paliva)
- public bool fly(int hours) - vrací zda letadlo uletělo požadovanou dobu a pokud ano, tak spotřebuje odpovídající množství paliva, pokud ne, letadlo zůstává nezměněno.
Ve jmeném prostoru ObjectDemo vytvořte třídu Program, která:
- Vytvoří instanci třídy Engine, které nastaví spotřebu na 1000 tun/hodinu, tah na 1000 tun.
- Vytovří instanci třídy Plane, které nastaví motor na objekt vytvořený v kroku 1., váhu na 1000 tun a množství paliva na 10000 tun.
- Vypíše informace o letadle na standardní výstup.
- Vypíše, zda letadlo bylo schopné uletět 2 hodiny ve tvaru: "Plane flown 2 hours: true/false".
- Vypíše informace o letadle na standardní výstup.
- Vypíše, zda letadlo bylo schopné uletět dalších 9 hodin ve tvaru shodném s bodem 4.
- Vypíse informace o letadle na standardní výstup.