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