IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Řešené úlohy k 3. lekci v TypeScriptu

V minulé lekci, Třídy v TypeScriptu, jsme se podívali na základy OOP v TypeScriptu.

Následující 3 cvičení vám pomohou procvičit znalosti programování v TypeScriptu z minulých lekcí. Ve vlastním zájmu se je pokuste vyřešit sami. Pod článkem máte pro kontrolu řešení ke stažení. Ale pozor, jakmile se na něj podíváte bez vyřešení příkladů, ztrácí pro vás cvičení smysl a nic se nenaučíte :)

Jednoduchý příklad

Vytvořte program, který bude mít třídu reprezentující člověka. Člověk bude mít samozřejmě jméno, příjmení a věk. Všechny atributy člověka budou veřejně přístupné (public). Ve třídě vytvořte konstruktor, který všechny atributy nastaví, dále vytvořte metodu, který vrátí textový výpis člověka.

Poté vytvořte instanci člověka a vypište jeho údaje na obrazovku, následně změňte libovolné atributy pomocí veřejně přístupných atributů a zase vypište upraveného člověka na obrazovku.

Ukázka výstupu:

Tvoje stránka
localhost

Středně pokročilý příklad

Vytvořte program, který bude obsahovat tři třídy.

První třída bude lehce modifikovaný člověk z prvního úkolu. Atributy udělejte private, pouze příjmení bude protected. Třídě přibudou metody, které vrátí pouze jméno a pouze věk člověka. Také přidejte metodu, která dovolí člověka přejmenovat.

Další třídy budou muž a žena, které dědí z člověka. Muž bude obsahovat údaj o tom, jestli je ženatý, který se nastaví konstruktorem, dále bude mít upravenou metodu výpisu, která vrátí i informaci, zda je ženatý nebo ne.

Žena bude mít nové údaje o tom, kolik již měla porodů, zda je těhotná a také jestli je vdaná. Všechno se zase nastaví konstruktorem. Její stav a zda čeká miminko je vždy při vytvoření instance false (pokud nespecifikujeme opak). Počet porodů je taktéž 0. Metoda na výpis ženy se změní tak, že bude navíc vypisovat její stav (zda je vdaná) a počet porodů. Dále bude třída obsahovat metody na změnu příjmení, na změnu stavu (vdávání) a na porod. Metoda pro porod bude přijímat jeden parametr, kde specifikujeme počet nových miminek. Pokud nespecifikujeme počet miminek, přibude pouze jedno.

Až budete mít třídy hotové vytvořte dvě instance, muže a ženu. Oba lidi vypište na obrazovku, potom ženu vdejte a znova ji vypište. Poté žena porodí jedno dítě, vypište ji znovu.

Ukázka obrazovky programu:

Tvoje stránka
localhost

Pokročilý příklad

Vytvořte program, který rozšíří program z druhého úkolu. Třída reprezentující člověka se rozšíří o údaj, s jakým člověkem je dotyčný v manželství, tento atribut udělejte jako protected.

Dále přibudou tři metody:

  • První metoda vrátí příjmení člověka,
  • druhá změní příjmení a
  • poslední metoda udělá svatbu. Tuto metodu udělejte static (to znamená, že nebude potřeba instance třídy pro zavolání této metody).

Nebudeme si přidělávat žádné komplikace a budeme počítat pouze svatbu mezi mužem a ženou, tudíž bude přijímat parametr typu třídy muž a žena, tato metoda také zavolá metodu na ženichovi, která ho ožení a metodu na nevěstě, která jí vdá.

To bude znamenat menší úpravu tříd pro muže a ženu. Metoda u muže na oženění přiřadí do manželství nevěstu. U ženy proběhne podobná změna ke které přidáme změnu příjmení u ženy. Abychom si to zachovali jednoduché, nebudeme brát do úvahy žádné skloňování a zavedeme si americký styl příjmení.

Nakonec upravme metodu na výpis ženy tak, aby se vypsalo jméno a příjmení muže za kterého je vdaná. V opačném případě se vypíše pouze její.

Po dokončení tříd a metod vytvořte instanci ženy a muže. Vypište údaje o obou na obrazovku. Poté udělejte svatbu mezi nimi a vypište ženu.

Ukázkový výstup:

Tvoje stránka
localhost

Příště se v lekci Interface (rozhraní) v TypeScriptu podíváme na rozhraní (interface).


 

Stáhnout

Stažením následujícího souboru souhlasíš s licenčními podmínkami

Staženo 312x (10.4 kB)

 

K absolvování tohoto cvičení prosím splň všechny příklady tím, že je úspěšně odevzdáš k otestování.

Předchozí článek
Třídy v TypeScriptu
Všechny články v sekci
TypeScript
Přeskočit článek
(nedoporučujeme)
Interface (rozhraní) v TypeScriptu
Článek pro vás napsal Jan Kubice
Avatar
Uživatelské hodnocení:
43 hlasů
Aktivity