Vianoce v ITnetwork sú tu! Dobí si teraz kredity a získaj až 80 % extra kreditov na e-learningové kurzy ZADARMO. Zisti viac.
Hľadáme nové posily do ITnetwork tímu. Pozri sa na voľné pozície a pridaj sa k najagilnejšej firme na trhu - Viac informácií.

Riešené úlohy k 3. lekcii v TypeScriptu

Nasledujúce 3 cvičenie vám pomôžu precvičiť znalosti programovania v TypeScriptu z minulých lekcií. Vo vlastnom záujme sa je pokúste vyriešiť sami. Pod článkom máte pre kontrolu riešenie k stiahnutiu. Ale pozor, akonáhle sa na neho pozriete bez vyriešenia príkladov, stráca pre vás cvičenie zmysel a nič sa nenaučíte:)

Jednoduchý príklad

Vytvorte program, ktorý bude mať triedu reprezentujúci človeka. Človek bude mať samozrejme meno, priezvisko a vek. Všetky atribúty človeka budú verejne prístupné (public). V triede vytvorte konštruktor, ktorý všetky atribúty nastaví, ďalej vytvorte metódu, ktorý vráti textový výpis človeka.

Potom vytvorte inštanciu človeka a vypíšte jeho údaje na obrazovku, následne zmeňte ľubovoľné atribúty pomocou verejne prístupných atribútov a zase vypíšte upraveného človeka na obrazovku.

Ukážka výstupu:

Tvoja stránka
localhost

Stredne pokročilý príklad

Vytvorte program, ktorý bude obsahovať tri triedy.

Prvá trieda bude ľahko modifikovaný človek z prvej úlohy. Atribúty urobte private, iba priezvisko bude protected. Triede pribudnú metódy, ktoré vrátia iba meno a iba vek človeka. Tiež pridajte metódu, ktorá dovolí človeka premenovať.

Ďalšie triedy budú muž a žena, ktoré dedia z človeka. Muž bude obsahovať údaj o tom, či je ženatý, ktorý sa nastaví konstruktoru, ďalej bude mať upravenú metódu výpisu, ktorá vráti aj informáciu, či je ženatý alebo nie.

Žena bude mať nové údaje o tom, koľko už mala pôrodov, či je tehotná a tiež či je vydatá. Všetko sa zase nastaví konstruktoru. Jej stav a či čaká bábätko je vždy pri vytvorení inštancie false (ak nešpecifikuje opak). Počet pôrodov je taktiež 0. Metóda na výpis ženy sa zmení tak, že bude navyše vypisovať jej stav (či je vydatá) a počet pôrodov. Ďalej bude trieda obsahovať metódy na zmenu priezviska, na zmenu stavu (vydaj) a na pôrod. Metóda pre pôrod bude prijímať jeden parameter, kde špecifikujeme počet nových bábätiek. Ak nešpecifikuje počet bábätiek, pribudne iba jedno.

Až budete mať triedy hotové vytvorte dve inštancie, muža a ženu. Obaja ľudí vypíšte na obrazovku, potom ženu vydajte a znova ju vypíšte. Potom žena porodí jedno dieťa, vypíšte ju znova.

Ukážka obrazovky programu:

Tvoja stránka
localhost

Pokročilý príklad

Vytvorte program, ktorý rozšíri program z druhej úlohy. Trieda reprezentujúci človeka sa rozšíri o údaj, s akým človekom je dotyčný v manželstve, tento atribút urobte ako protected.

Ďalej pribudnú tri metódy:

  • Prvá metóda vráti priezvisko človeka,
  • druhá zmení priezvisko a
  • posledná metóda urobí svadbu. Túto metódu urobte static (to znamená, že nebude potrebné inštancie triedy pre zavolanie tejto metódy).

Nebudeme si pridávať žiadne komplikácie a budeme počítať iba svadbu medzi mužom a ženou, teda bude prijímať parameter typu triedy muž a žena, táto metóda tiež zavolá metódu na ženíchovi, ktorá ho ožení a metódu na neveste, ktorá jej vydá.

To bude znamenať menší úpravu tried pre muža a ženu. Metóda u muža na oženený priradí do manželstva nevestu. U ženy prebehne podobná zmena ku ktorej pridáme zmenu priezviska u ženy. Aby sme si to zachovali jednoduché, nebudeme brať do úvahy žiadne skloňovanie a zavedieme si americký štýl priezvisko.

Nakoniec upravme metódu na výpis ženy tak, aby sa vypísalo meno a priezvisko muža za ktorého je vydatá. V opačnom prípade sa vypíše iba jej.

Po dokončení tried a metód vytvorte inštanciu ženy a muža. Vypíšte údaje o oboch na obrazovku. Potom urobte svadbu medzi nimi a vypíšte ženu.

Ukážkový výstup:

Tvoja stránka
localhost

 

Stiahnuť

Stiahnutím nasledujúceho súboru súhlasíš s licenčnými podmienkami

Stiahnuté 373x (10.4 kB)

 

Na absolvovanie tohto cvičenia prosím splň všetky príklady tým, že ich úspešne odovzdáš na otestovanie.

Predchádzajúci článok
Interface (rozhranie) v TypeScriptu
Všetky články v sekcii
TypeScript
Preskočiť článok
(neodporúčame)
Typová kompatibilta, zložené typy a iterátory v TypeScript
Článok pre vás napísal Jan Kubice
Avatar
Užívateľské hodnotenie:
1 hlasov
Aktivity