Tarkvara programmeerimises on objektorienteeritud programmeerimine (OOP) raamistik, mis üritab luua objekte reaalsetest asjadest. Polümorfismi teooria ja praktika on OOP põhimõtete raames tugevalt julgustatud. Üldiselt tuleks objektil luua põhiomadused ja käitumine, mõistes, et need muutuvad, kui see muutub konkreetseks tüübiks.
Polümorfism on võime omada programmi sees muutujat, funktsiooni või objekti, millel on rohkem kui üks tähendus. On mitmeid arhitektuurilisi kujundusi, mis näitavad polümorfismi. Need kujundused kirjeldavad, kuidas objekti kasutatakse rakenduses mitmel otstarbel.
Paljud programmeerimiskeeled toetavad polümorfismi kasutamist. See protsess võimaldab ärireegleid ja tarkvarakoodi kogu rakenduses uuesti kasutada. Mitte kõik programmeerimiskeeled ei toeta täielikku polümorfset käitumist, kuid enamik toetab põhikontseptsiooni. Kõik tõelised OOP-keeled, sealhulgas Java®, .net ja C++®, toetavad täiustatud lähenemisviise ja tehnikaid.
Pangakonto on hea näide baasobjektist, mis võiks toetada polümorfismi. Kõikidel pangakontodel on kontonumbrid, nimed ja saldo. Konto teeb ainulaadseks konto tüüp. Mõned tüüpide näited on säästukontod, tšekikontod või rahaturukontod. Polümorfismi piires oleks põhiobjektiks pangakonto koos põhipangakonto funktsioone kasutavate spetsiifilisemate kontodega. Seejärel võib igal kontol olla täiendavaid käitumisviise, et toetada intressimäärasid või pangakonto teabe taaskasutamisel väljamaksetrahve.
Polümorfismi teooriate kasutamine säästab arendajate aega, vähendades raisatud koodi. See muudab koodi kirjutamise lihtsamaks ja teistele arusaadavamaks. Lisaks muudab see tarkvara laiendatavaks, kuna tulevasi tüüpe saab hiljem lisada, kasutades olemasolevas koodis põhiesivanema objekti. Üldiselt on sel viisil arendatud rakendused paindlikumad ja neid on lihtsam laiendada, kuna nende tulevaste muudatuste jaoks on vaja vähem koodi
Polümorfismi teooriad kehtivad ka funktsioonide kohta. Funktsioon on tarkvarakoodi tükk, mis täidab konkreetset ülesannet. Funktsioone saab kirjutada ka polümorfselt. See lähenemisviis muudab koodi paindlikumaks, kuna funktsioone saab tarkvaras muude ärireeglite jaoks uuesti kasutada.
Hea näide funktsiooniga polümorfismist oleks sortimisfunktsioon. Seda tüüpi funktsioon sorteerib numbrite loendi. Polümorfne funktsioon ei saa sortida ainult numbreid, vaid võib sortida ka mis tahes tüüpi objekte. See muudab funktsiooni tõhusamaks, kuna see töötab mitut tüüpi andmetega.