PHP - obiektowe PHP - implementowanie interfejsów
| DZIAŁANIE: | brak działania |
Kod:

Ewentualne Objaśnienia:
Język PHP niestety nie umożliwia wielodziedziczenia - tzn. dana klasa nie może dziedziczyć z wielu klas, każda klasa posiadać może co najwyżej 1 rodzica. Oczywiście dopuszczalna jest sytuacja kiedy na przykład klasa C dziedziczy od klasy B, a klasa B od klasy A. Jednak nie może być tak, że klasa C dziedziczy zarówno z klas A i B.
Dlatego też w PHP 5 pojawia się coś takiego jak interfejsy - jest to
pewne rozwiązanie zastępujące niejako wielodziedziczenie.
Wszytko polega na tym, że interfejs wskazuje zestaw funkcji, które muszą
implementować klasy, które ten interfejs implementują. Na przykład mamy jakiś
zestaw klas, które powinny mieć jakąś funkcję pokaz_klase - bez sensu byłoby
tworzyć klasę przodka z tą funkcją, która dalej byłaby dziedziczona i
unieważniania przez wszystkie pozostałe klasy - lepszym rozwiązaniem jest
zaimplementowanie interfejsu zawierającego taką funkcję.
Widać to na przykładzie nasz interfejs - widać jak tworzymy słowo kluczowe interface zawiera funkcję pokaz_klase. Następnie klasa portalInternetowy implementuje z interfejsu Pokaz - słowo kluczowe implements - dzięki temu nasza klasa może zarówno dziedziczyć po jakiejś klasie jak i implementować jeden czy też więcej interfejsów.
Czyli ogólnie rzecz biorąc interfejs określa nam nazwy funkcji, ich zbiór które każda klasa, która z tego interfejsu korzysta musi zaimplementować w niej samej (klasie) - oczywiście każda klasa może taką funkcję deklarować ( jej działania ) w różny sposób. Ale istotne jest, że klasa implementująca z interfejsu MUSI zaimplementować wszystkie metody wskazane w interfejsie .