Middle
Co jsou dědičnost a polymorfismus v kontextu referenčních datových typů?
sobes.tech AI
Odpověď od AI
Dědičnost je mechanismus OOP, který umožňuje vytvářet nové třídy na základě stávajících. Nová třída (potomková třída) dědí pole a metody rodičovské třídy a může přidávat své vlastní nebo přepisovat stávající. To podporuje opakované použití kódu a vytváření logických hierarchií.
Polymorfismus je schopnost objektů různých tříd reagovat na stejnou metodu různě. U referenčních typů dat to znamená, že lze pracovat s objekty různých tříd přes odkaz na základní třídu nebo rozhraní. Konkrétní implementace volané metody závisí na skutečném typu objektu za běhu. Existují dva hlavní typy polymorfismu:
- Statický (přetížení metod): Stejná metoda má několik implementací s různými sadami parametrů. Kompilátor určuje, kterou použít na základě podpisu metody.
- Dynamický (přepsání metod): Potomková třída poskytuje vlastní implementaci metody, která je již definována v rodičovské třídě. Volání metody přes odkaz na rodičovskou třídu se provádí pro realizaci v potomkovské třídě (je-li).