Zdravím
Připravuji se na písemku z OOP, které se učíme na programovacím jazyku Pascal. Narazil jsem na několik věcí, na které jednoduše neumím odpovědět a v podpoře jsem nenašel odpověď. Zeptám se tedy, zda mi umí někdo pomoci. Otázky které řeším jsou:
- Definujte Polymorfismus metod, uveďte deklaraci statické předefinované metody
- Definujte Polymorfismus metod, uveďte deklaraci virtuální předefinované metody
Mohu poprosit, napíše zdě někdo ony dvě deklarace, případně ještě nějaké shrnutí definice polymorfismu z první části otázky? V podpoře máme k Polymorfismu toto:
Víme, že
•je možno využít dědičnosti k dědění atributů i metod z předka na potomka;
•je možno přidávat nové atributy i metody k potomkovi,
•je možno předefinovat implementaci metody předka tak, aby vyhovovala potomkovi a přitom zachovat stejný název metody (metoda potomka může mít atributy navíc nebo i jiné chování – to nazýváme předefinováním metody);
•která verze stejnojmenné metody se volá, to určují pravidla: volá se metoda volajícího objektu, pokud tam neexistuje, pak se hledá postupně u svých předků od vlastní třídy směrem ke kořeni hierarchie.Vlastnost OOP použít stejný název metody pro různé implementace nazýváme polymorfismem.
•u polymorfních metod můžeme použít ještě další způsob, jak změnit nebo upravit chování metody, a to přetěžování;
•konečně u polymorfních metod může nastat nový problém, pokud uvnitř volají jiné metody – uvedeme příště;
•polymorfní mohou být metody nebo celé objekty, ty uvedeme později.
Nějak si z toho neumím udělat myšlenku, kterou bych na písemce vyjádřil jednou až dvěma větami a dávalo to obsahově smysl.