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.
roční PŘEDPLATNÉ
1 082 Kč
měsíčně, placeno ročně (12 984 Kč)14 000+ lekcí, cvičení a testů
6 000+ ti zůstane napořád
Neomezený přístup ke všem aktuálním
i připravovaným kurzům.
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íš s Provozní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.