Mikä on rajapinnan perintö?

Rajapinnan periminen on mekanismi tietyillä tietokonekielillä, jossa luokka perii tiettyjä toimintoja, ja sitten kyseisen luokan on tarjottava toteutuksia kyseisille toiminnoille, jotta ne ovat täydellisiä. Liitännät ovat olemassa vain tietyillä olio-ohjelmointikielillä. Niitä voidaan käyttää monien perintöjen emuloimiseen, vaikka luokka ei itse asiassa salli moninkertaista perintöä, koska rajapintojen lukumäärälle, jonka luokka voi periä, ei yleensä ole rajoituksia. Toteuttamattomien menetelmien lisäksi rajapinnat voivat sisältää myös julkisia vakioita.

Liittymän perinnässä menetelmäobjekteja ja vakioita perivän objektin katsotaan olevan rajapintaobjektin tyyppi. Joten jos luokka X on peritty rajapinnalta Y, mikä tahansa luokan X esiintymä olisi myös luokan Y esiintymä. Tämä muuttuu monimutkaisemmaksi, kun luokan rajapinnan perintöön liittyy useampi kuin yksi erillinen käyttöliittymä. Jokaista periytyvää lisäliittymää varten saatua luokkaa voidaan laillisesti käyttää kunkin esiintymänä. Jos luokka on peritty kymmeneltä eri rajapinnalta, kyseisen luokan objekteja voitaisiin käyttää yksitoista eri objektin esiintymänä, mukaan lukien itse.

Tällaista monimutkaista perintöä ei usein tarvita. Liittymän perintöä käytetään varmistamaan, että luokalla on tietty joukko vaadittuja käyttäytymismalleja, ja näiden käyttäytymisten avulla se voi suorittaa erilaisia ​​toimintoja, joita se ei muuten voisi tehdä. Yleinen esimerkki tästä on Java -ActionListener -käyttöliittymä, joka vaatii luokan toteuttamaan vain yhden tietyn menetelmän. Menetelmän onnistunut käyttöönotto mahdollistaa käyttäjän hallita painikkeita, valikkokohteita tai mitä tahansa muuta luokan ikkunakohdetta haluttaessa. Käyttöliittymän periminen on suhteellisen yksinkertainen tapa lisätä monimutkaisia ​​toimintoja luokkaan huolehtimatta monimutkaisimmista perintäongelmista.

Yksi käyttöliittymän perimisen suurimmista eduista on se, että se mahdollistaa tiettyjen objektien käytön yleisessä mielessä. Koska luokka, joka toteuttaa rajapinnan, on kyseisen rajapinnan ilmentymä, sitä voidaan käyttää missä tahansa, missä tämän rajapinnan ilmentymä vaaditaan. Esimerkiksi jos luokka A toteuttaa luokan C ja luokka B toteuttaa myös luokan C, jos menetelmä ottaa parametriksi luokan C esiintymän, joko luokan A esiintymä tai luokan B esiintymä olisi hyväksyttävä parametri käytettäväksi . Liitäntöjä ei voida luoda itsestään, koska ne eivät ole täydellisiä, joten koskaan ei olisi objektia, joka olisi puhtaasti luokan C esiintymä parametrina.