Lekce 15 - Polymorfismus v C++
V minulé lekci, Mág do objektové arény v C++, jsme si vytvořili mága. Ten dokáže bojovat,
ale ještě není v aréně. Do arény jsme jej nepřidávali, protože je
zatím připravena pouze pro třídu Bojovnik.
V dnešním tutoriálu musíme C++ říci, že Mag je skutečně nějaký bojovník a může se k němu podle toho chovat.
Polymorfismus
Nenechte se vystrašit příšerným názvem této techniky, protože je
alespoň v jádru jednoduchá. Polymorfismus umožňuje používat jednotné
rozhraní pro práci s různými typy objektů. Mějme například mnoho
objektů, které reprezentují nějaké geometrické útvary (kruh, čtverec,
trojúhelník). Bylo by jistě přínosné a přehledné, kdybychom s nimi mohli
komunikovat jednotně, ačkoli se liší. Můžeme zavést třídu
GeometrickyUtvar, která by obsahovala atribut barva a metodu
vykresli(). Všechny geometrické tvary by potom dědily z této
třídy její interface (rozhraní). Objekty kruh a čtverec se ale jistě
vykreslují jinak. Polymorfismus nám umožňuje přepsat si metodu
vykresli() u každé podtřídy tak, aby dělala, co chceme.
Rozhraní tak zůstane zachováno a my nebudeme muset přemýšlet, jak se to u
onoho objektu volá.
Polymorfismus bývá často vysvětlován na obrázku se zvířaty, která
mají všechna v rozhraní metodu speak(), ale každé si ji
vykonává po svém.
...konec náhledu článku...
Pokračuj dál
Došel jsi až sem a to je super! Věříme, že ti první lekce ukázaly něco nového a užitečného.
Chceš v kurzu pokračovat? Přejdi do prémiové sekce.
Koupit pouze tento kurz
Získej okamžitý přístup ke kurzu bez
časového omezení.
925 Kč
Obsah článku spadá pod licenci Premium, koupí článku souhlasíš se smluvními podmínkami.
- Přístup k jednotlivým lekcím dle způsobu pořízení.
- Kvalitní znalosti v oblasti IT.
- Dovednosti, které ti pomohou získat vysněnou a dobře placenou práci.
Popis článku
Požadovaný článek má následující obsah:
V C++ tutoriálu se podíváme na jedno z nejtěžších témat objektově orientovaného programování, polymorfismus a virtuální metody.
Kredity získáš, když podpoříš naši síť. To můžeš udělat buď zasláním symbolické částky na podporu provozu nebo přidáním obsahu na síť.