![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 122 Pomógł: 0 Dołączył: 23.01.2006 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Nigdzie nie moge doczytac jaka jest praktyczna roznica miedzy interfejsem i klasa abstrakcyjna. Teorie znam, interfejs definiuje nagłowki metod danej klasy, klasa abstrakcyjna ma wieksze mozliwosci, moze ponadto definiowac zawartosc metody. Chodzi mi jednak jak to sie sprawdza w praktyce, kiedy zastosowac interfejs a kiedy klase abstrakcyjna, po co tak naprawde mam w ogole definiowac "ogolny zarys" klasy w interfejsie czy klsaie abstrakcyjnej? Pozdrawiam |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Przyjaciele php.pl Postów: 698 Pomógł: 3 Dołączył: 28.03.2004 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Programowanie to zazwyczaj praca grupowa, dlatego powstają takie, a nie inne rozwiązania. Równie dobrze, można pisać w assemblerze, bo przecież nikt inny tego czytać nie będzie.
Interfejsy i klasy abstrakcyjne pomagają w uporządkowaniu struktury aplikacji. Pozwalają na zachowanie kontroli typów, dzięki czemu możesz się spodziewać określonego zachowania po danym obiekcie. Klasy abstrakcyjne pozwalają na zdefiniowanie niektórych metod, dzięki czemu tworząc rodzinę klas, nie musisz dla każdej implementować funkcji takich jak getId(). Sprzyja to powstawaniu mniejszej ilości błędów (eliminujemy powtórzenia kodu). Drugą właściwością tych klas jest fakt, że nie możesz utworzyć z nich obiektu. Przydaje to się do tworzenia całkowicie statycznych klas. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 12.10.2025 - 03:15 |