Kaj je polimorfizem?

Pri programiranju programske opreme je objektno usmerjeno programiranje (OOP) okvir, ki poskuša ustvariti objekte iz stvari v resničnem svetu. Teorija in praksa polimorfizma se močno spodbujata v okviru načel OOP. Na splošno je treba objekt ustvariti tako, da bo imel osnovne lastnosti in vedenja, pri čemer je treba razumeti, da se bodo ti spremenili, ko bo postal poseben tip.

Polimorfizem je zmožnost imeti spremenljivko, funkcijo ali predmet z več kot enim pomenom znotraj programa. Obstaja več arhitekturnih zasnov, ki kažejo polimorfizem. Ti načrti opisujejo, kako bo predmet ponovno uporabljen v aplikaciji za več namenov.

Številni programski jeziki podpirajo uporabo polimorfizma. Ta postopek omogoča ponovno uporabo poslovnih pravil in programske kode v celotni aplikaciji. Vsi programski jeziki ne podpirajo popolnega polimorfnega obnašanja, večina pa podpira osnovni koncept. Vsi pravi OOP jeziki, vključno z Java®, .net in C++®, podpirajo naprednejše pristope in tehnike.

Bančni račun je dober primer osnovnega objekta, ki bi lahko podpiral polimorfizem. Vsi bančni računi imajo številke računov, imena in stanje. Tisto, kar naredi račun edinstven, je vrsta računa. Nekateri primeri vrst so varčevalni računi, tekoči računi ali računi denarnega trga. V okviru polimorfizma bi bil bančni račun osnovni objekt z bolj specifičnimi računi, ki uporabljajo značilnosti osnovnega bančnega računa. Vsak račun bi lahko imel dodatno vedenje za podporo obrestnih mer ali kazni za dvig ob ponovni uporabi informacij o bančnem računu.

Uporaba teorij polimorfizma razvijalcem prihrani čas z zmanjšanjem izgubljene kode. Olajša pisanje kode in lažje razumevanje za druge. Poleg tega omogoča programsko opremo razširljivo, saj je mogoče prihodnje tipe dodati pozneje z uporabo osnovnega predmeta prednika znotraj obstoječe kode. Na splošno so aplikacije, razvite na ta način, bolj prilagodljive in jih je lažje razširiti, saj zahtevajo manj kode za prihodnje spremembe

Teorije polimorfizma veljajo tudi za funkcije. Funkcija je del programske kode, ki opravlja določeno nalogo. Funkcije lahko zapišemo tudi polimorfno. Ta pristop naredi kodo bolj prilagodljivo, saj je funkcije mogoče ponovno uporabiti za druga poslovna pravila v programski opremi.
Dober primer polimorfizma s funkcijo bi bila funkcija razvrščanja. Ta vrsta funkcije bi razvrstila seznam številk. Polimorfna funkcija ne bi mogla samo razvrščati številk, ampak bi lahko razvrstila tudi katero koli vrsto predmetov. Zaradi tega je funkcija učinkovitejša, saj deluje na več vrstah podatkov.