Wielodziedziczenie przez interfejsy
Założenie: Pokażemy, jak symulować wielodziedziczenie w PHP za pomocą interfejsów, co pozwala klasom dziedziczyć zachowania z wielu źródeł bez naruszania zasad pojedynczego dziedziczenia.
Krok po kroku:
- Definicja interfejsów: Stwórzmy dwa interfejsy, `Drawable` i `Movable`, definiujące metody rysowania i poruszania się.
- Implementacja interfejsów w klasie: Utwórzmy klasę `Shape` implementującą oba interfejsy.
- Użycie klasy: Utwórzmy obiekt klasy `Shape` i wywołajmy jej metody.
interface Drawable {
public function draw();
}
interface Movable {
public function move();
}
Te interfejsy deklarują metody, ale nie implementują ich. Klasy, które je zaimplementują, będą musiały dostarczyć implementację tych metod.
class Shape implements Drawable, Movable {
public function draw() {
echo "Rysuję kształt\n";
}
public function move() {
echo "Przesuwam kształt\n";
}
}
Klasa `Shape` teraz musi zaimplementować metody `draw()` i `move()` zdefiniowane w interfejsach.
$shape = new Shape();
$shape->draw();
$shape->move();
Ten kod utworzy obiekt klasy `Shape` i wywoła metody `draw()` i `move()`, demonstrując wielodziedziczenie przez interfejsy.
Ten przykład pokazuje podstawy symulacji wielodziedziczenia w PHP za pomocą interfejsów. Zachęcamy do dalszego zgłębiania tematu programowania obiektowego w PHP!