Interfejs to typ referencyjny używany do wymuszania kontraktu z klasą. Kontrakt odnosi się do zobowiązania do zaimplementowania metod, które definiuje interfejs.
Interfejsy zapewniają abstrakcję między metodami, które definiują, a tym, jak użytkownik implementuje je w klasie. Praktycznym przypadkiem użycia tego jest API (interfejsy programowania aplikacji).
Interfejsy API umożliwiają programowi komunikowanie się z innymi programami bez znajomości sposobu ich implementacji. Jest to ważne zarówno ze względów własnościowych (dla firmy będącej właścicielem praw), jak i dla łatwego rozwoju z Twojej strony.
Przyjrzyjmy się, jak korzystać z interfejsów Java.
Definiowanie interfejsów
Aby zadeklarować interfejs, umieść słowo kluczowe berło przed nazwą interfejsu.
interfejs samochodowy{
// stałe deklaracje, jeśli istnieją
opony wewnętrzne = 4;
// sygnatury metod
światła int (jasność int);
zakręt wewnętrzny (opony wewnętrzne, kierunek strun){
// jakiś kod
}
}
W nagłówku interfejsu możesz również uwzględnić jego poziom widoczności przed słowem kluczowym berło.
Wartości w interfejsie są stałe. Te wartości są domyślnie publiczne, statyczne oraz finał. Dlatego nie ma potrzeby używania tych słów kluczowych podczas deklarowania wartości w treści interfejsu.
Związane z: Jak zarządzać zmiennym zakresem w Javie
Ciało interfejsu również może mieć domyślny, abstrakcyjny, statyczny metody. Te metody są domyślnie publiczny, więc nie ma potrzeby wskazywania tych modyfikatorów dostępu podczas ich deklarowania.
Metody abstrakcyjne są deklarowane przez pominięcie nawiasów klamrowych treści metody. Zobacz wiersz 7 w powyższym kodzie. Metody statyczne deklarowane są przez poprzedzenie nazwy metody słowem kluczowym statyczny & metody domyślne są deklarowane za pomocą domyślny modyfikator.
Teraz byłby dobry moment, aby wspomnieć, że musisz używać metod zadeklarowanych w interfejsie w dowolnych klasach, które go implementują. Niewykonanie tego spowoduje, że kompilator „wyegzekwuje umowę”, podając błąd kompilacji.
Ta szczególna właściwość interfejsów może mieć pewne wady. Rozważ przypadek, w którym dostawca interfejsu programowania aplikacji (API) postanawia dodać więcej metod do swoich interfejsów, ale kilka aplikacji jest opartych na starych interfejsach. Deweloperzy używający starych interfejsów w swoich programach musieliby przepisać swój kod, co nie jest praktyczne.
Więc to jest gdzie domyślny przychodzą metody. Umożliwiają dostawcom interfejsów API dodawanie większej liczby metod do swoich interfejsów, zapewniając jednocześnie zgodność binarną ze starszymi wersjami interfejsów.
default int getDirection ( współrzędne łańcuchowe){
// napisz kod, który da domyślną implementację
}
Powyższa metoda pokazuje, jak domyślna metoda o nazwie otrzymać instrukcje jest zadeklarowana. Zauważ, że podczas pisania musisz dołączyć implementację metody domyślnej.
Korzystanie z interfejsów
Teraz zdefiniowaliśmy interfejsy w Javie, możemy przejść do tego, jak można je zaimplementować. Dowiesz się tego w poniższej sekcji.
Implementacja interfejsów
Aby zaimplementować interfejs, użyj słowa kluczowego przybory używając tej składni:
klasa A implementuje interfejs P{
}
Pamiętaj, że musisz użyć wszystkich metod interfejsu w klasie. Możesz zignorować tę regułę tylko wtedy, gdy jedna z metod jest zdefiniowana jako domyślny w interfejsie.
Związane z: Wprowadzenie do korzystania z list połączonych w Javie
Jeśli chcesz, aby Twoja klasa implementowała wiele interfejsów, możesz je oddzielić przecinkami w deklaracji nagłówka.
Przykład:
klasa A implementuje interfejs P, Q, R{
}
Jeśli klasa implementująca interfejs jest podklasą, użyj poniższej składni:
klasa A rozszerza B implementuje C, D{
}
Interfejsy umożliwiają wielokrotne dziedziczenie w Javie. Zwykle klasa może rozszerzać tylko jedną klasę (pojedyncze dziedziczenie). Interfejsy to jedyny sposób, w jaki Java może wykonywać wiele dziedziczeń.
Interfejsy mogą również rozszerzać inne interfejsy, tak jak klasa może rozszerzać inną klasę. Interfejs podrzędny dziedziczy metody interfejsu, który rozszerza.
Zobacz przykład poniżej:
interfejs A rozszerza B{
}
Oprócz używania domyślnych metod modyfikacji interfejsu bez konieczności modyfikowania przez programistów ich bieżących programów, można również rozszerzyć istniejące interfejsy.
Teraz masz już podstawową wiedzę na temat interfejsów Java
Interfejsy w Javie demonstrują abstrakcję, jeden z czterech filarów programowania obiektowego. Polimorfizm jest jednym z tych czterech filarów. Odnosi się do zdolności metody do przybierania wielu form.
Polimorfizm można zaimplementować w Javie poprzez przeciążanie metod lub nadpisywanie metod. Następny na liście lektur Javy powinien być sposób implementacji tych funkcji.
Zredukuj kod, który piszesz, przeciążając i nadpisując metody.
Czytaj dalej
- Programowanie
- Jawa
- Języki programowania
- Programowanie
Jerome jest pisarzem sztabowym w MakeUseOf. Zajmuje się artykułami na temat programowania i systemu Linux. Jest także entuzjastą kryptowalut i zawsze śledzi branżę kryptograficzną.
Zapisz się do naszego newslettera
Dołącz do naszego newslettera, aby otrzymywać porady techniczne, recenzje, bezpłatne e-booki i ekskluzywne oferty!
Kliknij tutaj, aby zasubskrybować