Dedovanje (ang. Inheritance) je eden izmed najpomembnejših stebrov objektno usmerjenega
programiranja. Omogoča nam, da ustvarimo nov razred, ki avtomatsko prevzame (deduje) vse javne (public) in zaščitene
(protected) lastnosti ter metode že obstoječega razreda. V PHP-ju to magijo dosežemo s pomočjo ključne besede
extends.
S tem konceptom ustvarimo naravno hierarhijo med razredi, ki jo v programiranju opišemo kot odnos Starš → Otrok ali Nadrazred → Podrazred. Predstavljaj si naslednji primer iz resničnega sveta:
$znamka in $hitrost, ter metodo premik().extends Vozilo avtomatsko podeduje vse te
lastnosti, zraven pa mu lahko dodamo še specifične stvari, ki jih splošno vozilo nima (npr. lastnost
$stevilkaVrat ali metodo odpriPrtljaznik()).Glavni cilj dedovanja je drastično zmanjšanje podvajanja kode v tvojih projektih (striktno sledenje načelu DRY). Namesto da bi za Avto, Motor in Tovornjak pisal povsem enake funkcije za zagon motorja ali vožnjo, to logiko napišeš samo enkrat v starševski razred Vozilo. Vsi ostali podrazredi jo nato preprosto uporabijo ali pa jo po potrebi prilagodijo (preglasijo).
Z uporabo dedovanja tvoje aplikacije postanejo izjemno modularne, lažje za vzdrževanje in pripravljene na hitro dodajanje novih, naprednejših funkcionalnosti brez poseganja v že delujočo kodo.