Moștenirea multiplă, când vorbim despre limbaje de programare orientată pe obiecte (OOP), este un termen care se referă la o clasă care moștenește funcționalitatea de la mai mult de o clasă părinte. Termenul nu poate fi înțeles pe deplin fără a înțelege ce este o clasă. O definiție foarte scurtă a unei clase este un set de instrucțiuni de programare sau cod într-un limbaj OOP care descrie și reprezintă esența unei entități. Clasele definesc toate proprietățile unei entități și conțin toate metodele necesare pentru manipularea acelor proprietăți.
În funcție de programul care este codificat, ar putea fi nevoie de a scrie multe clase care au lucruri în comun, dar trebuie să rămână entități distincte. Aici intervine moștenirea multiplă. De exemplu, progresele tehnologice care ar permite construirea unui submarin care ar putea zbura ca un avion sau a unui avion care s-ar putea scufunda ca un submarin ar produce un produs hibrid. Acel hibrid ar avea unele dintre aceleași proprietăți pe care le are un avion și unele dintre proprietățile unui submarin, dar ar fi un produs sau o entitate unică. Moștenirea multiplă ar permite hibridului să moștenească funcționalitatea de la o clasă de avioane și funcționalitatea de la o clasă de submarine în același timp, fără a copia codul.
Un alt mod de a explica moștenirea multiplă este să spunem că permite mai multor clase să acționeze ca bază pentru alte clase. Există avantaje de a folosi moștenirea multiplă în loc de a copia pur și simplu codul de la una sau mai multe clase în alta. De obicei, erorile din programe necesită timp pentru a fi descoperite, dar atunci când sunt descoperite, trebuie corectate cât mai curând posibil. Dacă codul care conține erori este copiat în mai multe clase, programatorii trebuie să aplice aceeași remediere pentru fiecare copie a codului. Când se folosește moștenirea multiplă, totuși, el sau ea ar trebui să lucreze doar cu codul clasei originale de la care toate subclasele moștenesc funcționalitatea.
Nu toate limbajele de programare acceptă moștenirea multiplă, chiar dacă acceptă orientarea obiectelor. Unele versiuni ale unor limbi s-ar putea pretinde că o susțin atunci când, în realitate, acceptă moștenirea de la doar două clase. Clasele de la care alte clase moștenesc funcționalitatea sunt adesea denumite clase „părinte” sau „superclase”, iar clasele care moștenesc sunt numite clase „copil” sau „subclase”. Programatorii care sunt interesați să lucreze cu clasele în acest fel sunt sfătuiți să obțină mai întâi cunoștințe solide despre elementele de bază ale claselor înainte de a încerca să profite de puterea moștenirii multiple, deoarece greșelile sau practicile de codare proaste în clasa părinte sunt transmise. la clasa de copii.