![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 2 291 Pomógł: 156 Dołączył: 23.09.2007 Skąd: ITALY-MILAN Ostrzeżenie: (10%) ![]() ![]() |
Witam wiem ze jest to drugi watek z rzedu ale na poprzedni nikt nie udzieli mi odpowiedzi wiec chce zapytac jeszcze raz ale dokladniej:
Nie rozumiem 3 rzeczy w 100%: -Metody statyczne -Klasy i metody abstrakcyjne -interfejsy Hmm skoro OOP to OOP i powinno sie pracowac na obiektach to po co sa "statyczne" w ktorych nie tworzy sie obiektu a operuje jak na zwyklych zmiennych czy ktos moze mi wytlumaczyc jej zastosowania? I teraz klasy abstrakcyjne i implementowanie interfejsow wiem ze klasy abstrakcyjne i interfejsy to klasy ktore rozszerzaja inne klasy(jesli klasa pochodna po niej dziedziczy) czytalem tez ze klasy abstrakcyjne uzywa sie do malych projektow a interfejsy do duzycy jednak nie rozumiem jednej rzeczy: http://webcity.pl/webcity/programowanie_ob...e_w_php_5_cz__3 a dokladnie pierwszy kod z uzyciem interfejsow i jego cytat: Cytat Moglibyśmy stworzyć tutaj abstrakcyjną klasę bazową, ale wtedy uniemożliwilibyśmy programistom dziedziczenie z innych klas i tego nie potrafie zrozumiec, i jeszcze jaka jest roznica miedzy klasa abstrakcyjna i interfejsem skoro obydwie "metody" maja rozszerzac inne klasy? P.S i jeszcze jedno skoro klasy abstrakcyjne i interfejsy maja rozszerzac mozliwosci innych klas to dlaczego odrazu w takiej klasie nie mozna dac implementacji funkcji ktora ma byc potem dziedziczona/implementowana, jaki to ma sens skoro kazda klasa dziedziczaca moze miec funkcje inaczej pracujace? Ten post edytował marcio 12.09.2008, 16:08:01 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%) ![]() ![]() |
Jej, bylo z 5 razy, sa duze topiki na forum o abstr. i interfejsach.
Cytat Moglibyśmy stworzyć tutaj abstrakcyjną klasę bazową, ale wtedy uniemożliwilibyśmy programistom dziedziczenie z innych klas Klasa abstrakcyjna BEZ zaimplementowania zadnych metod to wlasciwie interfejs. Roznica polega na tym ze dziedziczyc mozez tylko po jednej klasie, a implementowac mozesz dowolna ilosc interfejsow. Dlatego w tym przypadku interfejs jest lepszym rozwiazanie,m, bo uzycie klasy abstr. nie przynosi korzysci a tylko zabiera nam mozlliwosc innego dziedziczenia. Cytat Hmm skoro OOP to OOP i powinno sie pracowac na obiektach to po co sa "statyczne" w ktorych nie tworzy sie obiektu a operuje jak na zwyklych zmiennych czy ktos moze mi wytlumaczyc jej zastosowania? No czasami nie da sie tylko niestatycznymi metodami operowac, tudziez obiektami. Poczytaj o wzorcach projektowych i zobacz jak tam z oop korzystaja, musisz jedynie wczesniej poznac polimorfizm najlepiej w jakims statycznym jezyku (c++, Java, C#) - latwiej to zalapac.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 7.10.2025 - 08:04 |