Interfejsy i klasy abstrakcyjne w Javie

Spisie treści
Chociaż obie struktury mogą wydawać się podobne, ponieważ wymuszają na klasach, które ich używają do tworzenia metod, które mają i używają ich, aby mogły być poprawne, mają między sobą kluczowe różnice, co może dać nam więcej światła na temat tego, jak możemy ich używać .
Różnice, choć są subtelne, pozwalają nam na wykorzystanie obu struktur nawet w połączeniu, dzięki czemu możemy osiągnąć większy porządek w naszym projekcie i stworzyć aplikacje, które pozwolą nam lepiej odwzorować obiekty świata rzeczywistego w formacie cyfrowym.
OgraniczeniaGłówna różnica, którą widzimy między klasy abstrakcyjne oraz interfejsy jest to, że pierwsza jest klasą, a druga nie, mimo że berło ma podobną strukturę napotyka ograniczenia, których nie ma w klasa abstrakcyjna.
Zmienneten klasa abstrakcyjna nie ma ograniczeń w korzystaniu ze zmiennych, jednak berło jeśli tak, w rzeczywistości wszystkie zmienne, których będziemy używać, muszą być publiczne, statyczne lub ostateczne.
W tym przypadku budowniczy z klasa abstrakcyjna musi być wywoływany przez podklasy, co wyklucza możliwość jego wystąpienia za pomocą operatora Nowy.
W przypadku berło, to nie może mieć konstruktorów, ponieważ nie jest klasą, co powoduje, że odrzucamy również tworzenie instancji za pomocą operatora Nowy.
MetodyW berło metody muszą być streszczenie publiczne Z drugiej strony w klasie abstrakcyjnej możemy bez problemu umieścić dowolny rodzaj metody, co jest dla nas jeszcze jedną różnicą.
Kolejnym punktem, który musimy wziąć pod uwagę, jest sposób dziedziczenia i implementacji, który możemy osiągnąć za pomocą tych dwóch struktur w Jawa, wiemy o tym, kiedy to robimy dziedzictwo W klasie możemy dziedziczyć tylko bezpośrednio z klasy nadrzędnej, to znaczy, jeśli chcemy dziedziczyć z dwóch różnych klas, musimy stworzyć efekt kaskadowy, gdzie pierwsza klasa dziedziczy po klasie nadrzędnej, a druga klasa dziedziczy po klasie nadrzędnej to, aby uzyskać jego funkcjonalność i funkcjonalność jego klasy nadrzędnej.
w interfejsy Ten problem nie występuje, w rzeczywistości możemy dziedziczyć bezpośrednio z kilku interfejsów, więc jeśli chcemy uzyskać ich metody możemy to zrobić bez problemu.

W przypadku implementacja interfejsu w klasie abstrakcyjnej, jeśli mamy większą swobodę, w tym przypadku możemy zaimplementować wiele interfejsów bez żadnych ograniczeń w tym przypadku, co daje nam możliwość stworzenia bardziej złożonego interfejsu nadrzędnego, że tak powiem. Ważne jest, aby wiedzieć i wziąć pod uwagę, że interfejs nie jest klasą i dlatego nie może dziedziczyć po jednej, może tylko dziedziczenie z innych interfejsów.

Na tym kończymy ten samouczek, widzieliśmy różnice w ograniczeniach i implementacji w naszych programach tych dwóch struktur w JawaChociaż oba służą do modelowania i definiowania zachowań, każdy z nich ma swoją własną przestrzeń, więc gdy poznamy je lepiej, będziemy mogli zdecydować, którego użyć w naszych programach wykonanych w tym języku.Podobał Ci się i pomógł ten samouczek?Możesz nagrodzić autora, naciskając ten przycisk, aby dać mu pozytywny punkt

Będziesz pomóc w rozwoju serwisu, dzieląc stronę ze swoimi znajomymi

wave wave wave wave wave