Ką reiškia „daugybinis paveldėjimas“?

Daugkartinis paveldėjimas, kalbant apie objektinio programavimo (OOP) kalbas, yra terminas, reiškiantis klasę, kuri paveldi funkcionalumą iš daugiau nei vienos pirminės klasės. Neįmanoma visiškai suprasti šio termino nesuvokus, kas yra klasė. Labai trumpas klasės apibrėžimas yra programavimo instrukcijų arba kodų rinkinys OOP kalba, kuris apibūdina ir yra esybės esmė. Klasės apibrėžia visas objekto savybes ir apima visus metodus, reikalingus tomis savybėmis manipuliuoti.

Priklausomai nuo koduojamos programos, gali prireikti parašyti daug klasių, kurios turi bendrų dalykų, bet turi išlikti atskirais objektais. Čia atsiranda daugialypis paveldėjimas. Pavyzdžiui, technologinė pažanga, kuri leistų pastatyti povandeninį laivą, kuris galėtų skristi kaip lėktuvas, arba lėktuvą, kuris galėtų panirti kaip povandeninis laivas, sukurtų hibridinį produktą. Tas hibridas turėtų kai kurias tas pačias savybes kaip ir lėktuvas, ir kai kurias povandeninio laivo savybes, tačiau tai būtų unikalus produktas ar subjektas. Daugkartinis paveldėjimas leistų hibridui lengvai paveldėti funkcionalumą iš lėktuvo klasės ir funkcionalumą iš povandeninio laivo klasės tuo pačiu metu, nekopijuojant kodo.

Kitas būdas paaiškinti daugialypį paveldėjimą yra pasakyti, kad tai leidžia daugiau nei vienai klasei veikti kaip kitų klasių pagrindu. Yra daug privalumų, kai naudojamas kelias paveldimumas, o ne tiesiog kopijavimas iš vienos ar kelių klasių į kitą. Klaidos programose dažnai užtrunka, kol jos aptinkamos, tačiau kai jos aptinkamos, jas reikia kuo greičiau ištaisyti. Jei kodas, kuriame yra klaidų, nukopijuojamas į kelias klases, programuotojai turi taikyti tą patį pataisą kiekvienai kodo kopijai. Tačiau kai naudojamas daugialypis paveldėjimas, jis arba ji turėtų dirbti tik su pradinės klasės, iš kurios visi poklasiai paveldi funkcionalumą, kodu.

Ne visos programavimo kalbos palaiko daugialypį paveldėjimą, net jei jos palaiko objektinę orientaciją. Gali būti teigiama, kad kai kurios kai kurių kalbų versijos palaiko tai, nors iš tikrųjų jos palaiko tik dviejų klasių paveldėjimą. Klasės, iš kurių kitos klasės paveldi funkcionalumą, dažnai vadinamos „pagrindinėmis“ arba „superklasėmis“, o klasės, kurios paveldi, vadinamos „vaikų“ klasėmis arba „poklasiais“. Programuotojams, kurie domisi tokiu būdu dirbti su klasėmis, primygtinai rekomenduojama pirmiausia įgyti tvirtų žinių apie klasių pagrindus prieš bandant pasinaudoti daugybinio paveldėjimo galia, nes klaidos ar netinkama kodavimo praktika pagrindinėje klasėje yra perduodamos. į vaikų klasę.