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.