9.3. Polymorfismus

Časová náročnost
Časová náročnost: 7 minut

Polymorfismus je proces, jímž je běžné rozhraní aplikováno ve dvou nebo více podobných, ale technicky různých, situacích. Polymorfismus je důležitý proto, že může významně zjednodušit složité systémy. Polymorfismus v podstatě dovoluje, aby se logický vztah podobných operací stal běžným a tím pádem se program stane jednodušším na pochopení a údržbu.

upozornění Jsou definovány dva pojmy spojované s objektově orientovaným programováním. Jsou to:
  • Časná vazba - vztahuje se k událostem, které mohou být známy během překladu. Speciálně se vztahuje k takovému volání funkcí, které může být řešeno během překladu. Časně vázané položky zahrnují "normální" funkce, přetěžované funkce a nevirtuální členy spřátelených tříd. Když jsou typy těchto funkcí kompilovány během překladu, jsou známy všechny potřebné adresní informace nutné k jejich volání. Hlavní výhodou časné vazby je jejich efektivnosti, rychlost komplice a jejich volání. Hlavní nevýhodou je nedostatek flexibility.

  • Pozdní vazba - vztahuje se k událostem, které se vyskytují při běhu programu. Volání pozdně vázané funkce je volání, při němž adresa funkce, která se má volat, není známa dokud se program nespustí. Například virtuální funkce je pozdně vázaný objekt. Hlavní výhodou pozdní vazby je flexibilita při běhu programu. Hlavní nevýhodou je, že s voláním funkce je spojena větší režie. To způsobuje, že jsou tato volání pomalejší, než volání s časnou vazbou.