U programskim jezicima i teoriji tipova, polimorfizam je snabdijevanje jednog interfejsa entitetima različitih tipova ili korištenje jednog simbola za predstavljanje više različitih tipova.: "Polymorphic types are types whose operations are applicable to values of more than one type."
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.Booch, et al 2007 Object-Oriented Analysis and Design with Applications. Addison-Wesley.
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, 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
Kategorija:Objektno orijentirano programiranje Kategorija:Koncepti u programskim jezicima