Kaj je dedovanje vmesnika?

Dedovanje vmesnika je mehanizem v nekaterih računalniških jezikih, kjer določene funkcije podeduje razred, nato pa mora ta določen razred zagotoviti implementacije za te funkcije, da je popoln. Vmesniki obstajajo samo v določenih objektno usmerjenih programskih jezikih. Uporabljajo se lahko za posnemanje večkratnega dedovanja, medtem ko dejansko ne dovolijo, da bi razred dedoval pomnoženo, ker na splošno ni omejitev za število vmesnikov, iz katerih lahko razred deduje. Poleg neizvedenih metod lahko vmesniki vključujejo tudi javne konstante.

Pri dedovanju vmesnikov se objekt, ki podeduje škrbine in konstante metode, šteje za vrsto vmesniškega objekta. Torej, če je razred X podedovan iz vmesnika Y, bi bil vsak primerek razreda X tudi primerek razreda Y. To postane bolj zapleteno, če dedovanje vmesnika razreda vključuje več kot en ločen vmesnik. Za vsak dodatni vmesnik, ki je podedovan, se lahko dobljeni razred zakonito uporablja kot primerek vsakega. Če je bil razred podedovan iz desetih različnih vmesnikov, bi lahko predmete tega razreda uporabili kot primerek enajstih različnih objektov, vključno z njim samim.

Tako zapleteno dedovanje ni pogosto potrebno. Dedovanje vmesnika se uporablja za zagotovitev, da ima razred določen nabor zahtevanih vedenj, in ta vedenja mu omogočajo izvajanje različnih funkcij, ki jih drugače ne bi mogel. Pogost primer tega je vmesnik ActionListener v Javi, ki zahteva, da razred izvaja samo eno specifično metodo. Uspešna implementacija te metode omogoča uporabniku, da po želji nadzoruje gumbe, elemente menija ali kateri koli drug okenski predmet v razredu. Dedovanje vmesnika je razmeroma preprost način za dodajanje kompleksne funkcionalnosti v razred brez skrbi za najbolj zapletene težave z dedovanjem.

Ena največjih prednosti uporabe dedovanja vmesnikov je, da omogoča uporabo specifičnih predmetov v splošnem pomenu. Ker je razred, ki izvaja vmesnik, primerek tega vmesnika, ga je mogoče uporabiti kjer koli je potreben primerek tega vmesnika. Na primer, če razred A izvaja razred C in razred B izvaja tudi razred C, če metoda vzame kot parameter primerek razreda C, bi bil bodisi primer razreda A bodisi primerek razreda B sprejemljiv parameter za uporabo . Vmesnikov ni mogoče izdelati sami, ker niso popolni, zato nikoli ne bi bilo predmeta, ki bi bil zgolj primerek razreda C kot parameter.