![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 749 Pomógł: 37 Dołączył: 3.10.2006 Ostrzeżenie: (0%) ![]() ![]() |
Witam, poznałem właśnie jak działają klasy i metody abstrakcyjne i finalne, ale zupełnie nie wiem do czego można by je wykorzystać w praktyce. Czy ktoś mógłby mi przedstawić jakiś prosty przykład, wraz z wytłumaczeniem "z czym to się je"?
Z góry dziękuje za pomoc... PS. Moje początki w obiektówce są dosyć trudne. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Przyjaciele php.pl Postów: 698 Pomógł: 3 Dołączył: 28.03.2004 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Klasa abstrakcyjna to uogólnienie klas, które reprezentują obiekty. Dziedzicząc z niej, możesz skonkretyzować niektóre jej cechy i zachowania. Metoda abstrakcyjna służy do określenia interfejsu, lecz nie posiada ciała metody, więc nie można jej wywołać. Klasa z metodą abstrakcyjną jest również abstrakcyjna. Jakiś głupi przykład najlepszy.
Nie stworzysz obiektu klasy Zwierze, bo zwierzę jest bytem dosyć abstrakcyjnym. Możemy wszystkie obiekty traktować jako zwierzęta, ale tak naprawdę są one instancjami innych klas (np. Pies). Przykład bardziej z życia - wzorzec Template Method. Jeżeli podpiszesz coś słowem kluczowym final, to nie zmienisz już tego. Klas finalnych nie można dziedziczyć, a metod nadpisywać. W Javie metody finalne nie są wiązane dynamicznie, bo nie ma takiej potrzeby, dzięki czemu nieco zyskuje się na wydajności. Lepiej jednak nie naduzywać tego mechanizmu. Najlepiej zaopatrz się w jakąś porządną książkę, jest sporo pozycji, które to dokładniej omówią. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 7.10.2025 - 11:19 |