Polimorfizm z interfejsami
Założenie: Pokażemy, jak używać polimorfizmu z interfejsami w PHP, aby obiekty różnych klas mogły być traktowane w jednolity sposób.
Krok po kroku:
- Definicja interfejsu: Tworzymy interfejs
Drawable
z metodądraw()
. - Implementacja interfejsu w różnych klasach: Tworzymy dwie klasy:
Circle
iSquare
, które implementują interfejsDrawable
. - Użycie polimorfizmu: Tworzymy tablicę obiektów implementujących interfejs
Drawable
i wywołujemy metodędraw()
dla każdego z nich.
interface Drawable {
public function draw();
}
Ten kod definiuje interfejs Drawable
, który deklaruje metodę draw()
. Klasy implementujące ten interfejs muszą zaimplementować tę metodę.
class Circle implements Drawable {
public function draw() {
echo "Rysuję koło
";
}
}
class Square implements Drawable {
public function draw() {
echo "Rysuję kwadrat
";
}
}
Klasy Circle
i Square
implementują metodę draw()
, ale w różny sposób. To jest esencja polimorfizmu.
$shapes = [new Circle(), new Square()];
foreach ($shapes as $shape) {
$shape->draw();
}
Pętla foreach
iteruje po tablicy $shapes
. Mimo, że elementy tablicy są różnymi obiektami (Circle
i Square
), kod działa poprawnie, ponieważ wszystkie obiekty implementują metodę draw()
zdefiniowaną w interfejsie Drawable
.
Ten przykład pokazuje podstawy polimorfizmu z interfejsami w PHP. Zachęcamy do dalszego zgłębiania tematu programowania obiektowego!