Skip to main content

Mi az interfész örökség?

Az interfészi öröklés olyan mechanizmus bizonyos számítógépes nyelveken, ahol egy osztály örököli a konkrét funkciókat, majd az adott osztálynak megvalósításokat kell biztosítania ezeknek a funkcióknak a befejezéséhez.Az interfészek csak bizonyos objektum-orientált programozási nyelveken léteznek.Használhatók a többszörös öröklés emulálására, miközben valójában nem engedik, hogy az osztály szaporodjon az öröklés, mivel általában nincs korlátozás az interfészek számára, amelyből egy osztály örökölhet.A nem végrehajtott módszerek mellett az interfészek magukban foglalhatják a nyilvános állandókat is.Tehát, ha egy X osztályú X osztály az Y felületből örökölt, akkor az X osztály bármely példánya az Y osztály példánya is. Ez bonyolultabbá válik, ha az osztályok interfész öröklése egynél több különálló felületet foglal magában.Minden örökölt további felületen a kapott osztály jogszerűen használható mindegyik példányaként.Ha egy osztály tíz különböző interfészből örökölt, akkor az osztály objektumai tizenegy különböző objektum példájaként használhatók, beleértve magát is.Az interfész örökségét annak biztosítása érdekében használják, hogy az osztálynak meghatározott viselkedése legyen, és ezek a viselkedések lehetővé teszik, hogy különféle funkciókat hajtsanak végre, amelyeket egyébként nem tudott megtenni.Ennek általános példa a Java ActionListener interfész, amelynek csak egy adott módszert kell végrehajtania.Ennek a módszernek a sikeres megvalósítása lehetővé teszi a felhasználó számára a gombok, menüelemek vagy bármely más ablakobjektum vezérlését az osztályban, ha szükséges.Az interfészi öröklés egy viszonylag egyszerű módja annak, hogy összetett funkcionalitást adjunk egy osztályhoz anélkül, hogy aggódnának a legbonyolultabb öröklési kérdések miatt.

Az interfész örökségének használatának egyik legnagyobb előnye az, hogy lehetővé teszi, hogy az egyes objektumok általános értelemben használják.Mivel az interfészet megvalósító osztály az interfész példánya, bármilyen helyen használható, amelyre az interfész példányára van szükség.Például, ha az A. osztály a C osztályba, a B osztály pedig a C osztályt is végrehajtja, ha egy módszer paraméterként veszi fel a C osztály példányát, akkor az A osztály vagy a B osztály példánya elfogadható paraméter lenne.-Az interfészeket nem lehet önmagukban injektálni, mert nem teljesek, tehát soha nem lenne olyan objektum, amely pusztán a C osztály példánya volt.