Večobličnost v objektno usmerjenem programiranju omogoča enotno obravnavo razredov v hierarhiji. Zato je treba klicno kodo napisati samo za obravnavo objektov iz korena hierarhije in vsak objekt, ki bo primerek katerega koli podrejenega razreda v hierarhiji, bo obravnavan na enak način.
Ker imajo izpeljani objekti isti vmesnik kot njihovi starši, lahko klicna koda pokliče katero koli funkcijo v vmesniku tega razreda. V času izvajanja bo program poklical ustrezno metodo glede na vrsto posredovanega objekta, kar lahko povzroči različno vedenje.
Recimo, da imamo razred z imenom Žival
ter dva podrejena razreda Mačka
in Pes
. Če ima razred Žival
metodo za oglašanje, imenovano glas()
, potem lahko metodo glas()
, ki jo podedujeta podrazreda Mačka
in Pes
, preoblikujemo tako, da vrne »mijav« oziroma »hov«.
Nato lahko napišemo drugo funkcijo, ki kot parameter sprejme kateri koli objekt Žival
in pokliče njegovo metodo glas()
. Torej bo oglašanje različno: bodisi »mijavkanje« ali »lajanje«, odvisno od vrste živalskega objekta, ki smo ga dejansko posredovali funkciji.
Objektno usmerjeni jeziki, ki podpirajo razrede, skoraj vedno podpirajo pojem »dedovanja«. Razrede lahko organiziramo v hierarhije, kjer ima lahko razred enega ali več nadrejenih ali podrejenih razredov. Če ima razred nadrejeni razred, pravimo, da je izpeljan ali podedovan iz nadrejenega razreda in predstavlja razmerje tipa »je« (ang. is-a). To pomeni, da podrejeni razred »je« tipa nadrejenega razreda.
Če torej razred deduje od drugega razreda, samodejno pridobi večino enake funkcionalnosti in lastnosti od tega razreda in ga lahko razširimo tako, da vsebuje ločeno kodo in podatke. Podrejeni razred bo torej dedoval lastnosti nadrejenega razreda in zelo verjetno spremenil ali razširil njegovo vedenje. Lepa značilnost dedovanja je, da pogosto vodi do dobre ponovne uporabe kode, saj metod nadrejenega razreda ni treba ponovno definirati v katerem koli od njegovih podrejenih razredov.
Na primer, v živalskem svetu lahko žuželko predstavlja nadrazred Žuželka
. Vse žuželke imajo podobne lastnosti, na primer šest nog in eksoskelet. Podrazrede lahko definiramo za pikapolonice in mravlje. Ker izhajajo iz razreda Žuželka
, samodejno dedujejo vse lastnosti in obnašanje (oziroma metode) žuželk.
Če se na primer mravlje obnašajo drugače, kot druge žuželke, moramo v razredu Mravlja
samo spremeniti ustrezno metodo. Če pa mravlje počnejo nekaj, česar ne počnejo druge žuželke, moramo razredu Mravlja
v tem primeru dodati novo metodo.