Co to jest dziedzictwo interfejsu?

Dziedziczenie interfejsu jest mechanizmem w niektórych językach komputerowych, w których określone funkcje są dziedziczone przez klasę, a następnie ta konkretna klasa musi zapewnić implementacje dla tych funkcji, aby zostać ukończone. Interfejsy istnieją tylko w niektórych obiektowych językach programowania. Można je wykorzystać do naśladowania wielokrotnego dziedziczenia, a jednocześnie nie pozwalając klasie na pomnożenie dziedziczenia, ponieważ na ogół nie ma ograniczeń dla liczby interfejsów, od których klasa może odziedziczyć. Oprócz metod niezaplenowych interfejsy mogą również obejmować stałe publiczne.

W dziedziczeniu interfejsu obiekt, który dziedziczy metodę i stałe, jest uważany za rodzaj obiektu interfejsu. Tak więc, jeśli klasa X odziedziczona po interfejsie Y, każda instancja klasy X byłaby również instancją klasy Y. Staje się to bardziej skomplikowane, gdy dziedziczenie interfejsu klasy obejmuje więcej niż jeden osobny interfejs. Dla każdego dodatkowego odziedziczonego interfejsu, wynikowyKlasa może być legalnie używana jako instancja każdego z nich. Jeśli klasa odziedziczona po dziesięciu różnych interfejsach, obiekty tej klasy mogą być używane jako instancja jedenastu różnych obiektów, w tym siebie.

Takie złożone dziedziczenie nie jest często konieczne. Dziedziczenie interfejsu służy do zapewnienia, że ​​klasa ma określony zestaw wymaganych zachowań, a te zachowania umożliwiają jej wykonywanie różnych funkcji, których inaczej nie mógł. Wspólnym tego przykładem jest interfejs ActionListener w Javie, który wymaga klasy wdrożenia tylko jednej konkretnej metody. Udana implementacja tej metody pozwala użytkownikowi kontrolować przyciski, elementy menu lub dowolny inny obiekt okna w klasie w razie potrzeby. Dziedziczenie interfejsu jest stosunkowo prostym sposobem na dodanie złożonej funkcjonalności do klasy, nie martwiąc się o najbardziej skomplikowane problemy z dziedzictwem.

Jedna z największych zalet USIDziedziczenie interfejsu NG polega na tym, że umożliwia użycie określonych obiektów w sensie ogólnym. Ponieważ klasa, która implementuje interfejs, jest instancją tego interfejsu, można ją użyć dowolnego miejsca, wymagana jest instancja tego interfejsu. Na przykład, jeśli klasa A implementuje klasę C, a klasa B implementuje również klasę C, jeśli metoda przyjmuje jako parametr instancji klasy C, instancja klasy A lub instancja klasy B byłaby dopuszczalnym parametrem do użycia. Interfejsów nie można utworzyć samodzielnie, ponieważ nie są kompletne, więc nigdy nie byłoby obiektu, który byłby wyłącznie instancją klasy C jako parametr.

INNE JĘZYKI