Sobes.tech
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).