U programskim jezicima i teoriji tipova, polimorfizam je snabdijevanje jednog interfejsa entitetima različitih tipova[1] ili korištenje jednog simbola za predstavljanje više različitih tipova.[2]

Najčešće prepoznate veće klase polimorfizma su:

  • Ad hoc polimorfizam: definira zajednički interfejs za proizvoljan skup individualno određenih tipova.
  • Parametarski polimorfizam: kada jedan ili više tipova nisu određeni imenom ili po apstraktnim simbolima mogu predstavljati bilo koji tip.
  • Subtyping (također se naziva podtipni polimorfizam ili inkluzijski polimorfizam): kada ime određuje instance više različitih klasa vezanih zajedničkom superklasom.[3]

Historija

Interes za polimorfnim tipskim sistemima značajno se razvio 1960-ih, sa praktičnim primjenama koje su se počele javljati krajem decenije. Ad hoc polimorfizam i parametarski polimorfizam originalno su opisani u djelu Christophera Stracheya pod nazivom Fundamental Concepts in Programming Languages,[4] gdje su prikazani kao "dvije glavne klase" polimorfizma. Ad hoc polimorfizam bio je karakteristika Algola 68, dok je parametarski polimorfizam bio sržna karakteristika ML-ovog tipskog sistema.

Reference

Wikiwand in your browser!

Seamless Wikipedia browsing. On steroids.

Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.

Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.