![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 65 Pomógł: 5 Dołączył: 10.09.2010 Ostrzeżenie: (0%) ![]() ![]() |
Czesc, jakis czas temu przeczytałem, że jedyna opcja dla wielodziedziczenia jest Implementowanie interfejsu...
Poczytałem, ok stworzyłem niby interfejs, ale nie mam pojecia jak to wszystko działa. Wydaje mi sie ze to działa w ten sposob interfejs { funkcja() } clasa dajaca do interfejsu { funkcja() {} } i pozniej mozna pobrac z interfejsu ta funkcje. Wydawało mi sie, że dobrze zrozumiałem to ale niestety nie moge stworzyc zadnego kodu, byc moze zle pojąłem sposob działania interfejsu. Bylbym wdzieczny gdyby ktos zrobil jakis prosty przyklad, samo echo i zmienne, jak zrobic oraz wykorzystac interfejs. Duzy czytalem, napisanie tutaj to ostatecznosc. Dziekuje za cierpliwosc i przepraszam za prostote pytania Pozdrawiam |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 651 Pomógł: 28 Dołączył: 4.12.2004 Ostrzeżenie: (0%) ![]() ![]() |
Implementowanie interfejsu i wielodziedziczenie, to dwie osobne sprawy. W PHP możesz implementować interfejsy, ale nie możesz korzystać z wielodziedziczenia. Jeśli chcesz mieć dostęp do funkcjonalności kilku klas w innej klasie możesz stworzyć obiekty tych klas w nowej klasie.
Np. Mamy 3 klasy: klasa1, klasa2 oraz klasa3 i chcemy użyć funkcjonalności z klas: klasa1 i klasa2 w klasie: klasa3. Możemy zrobić tak:
Zamiast wielodziedziczenia, którego w PHP nie ma i które jest trochę sprzeczne z logiką programowania (choć w C++ jest) lub zamiast powyższego rozwiązania, możesz też użyć hierarchicznego uporządkowania klas np.
Przy tym rozwiązaniu trzeba pamiętać o tym, żeby klasy były logicznie uporządkowane. Nie zawsze jest sens stosować tego typu rozwiązanie. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 11.10.2025 - 19:59 |