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
Drawablez metodądraw(). - Implementacja interfejsu w różnych klasach: Tworzymy dwie klasy:
CircleiSquare, które implementują interfejsDrawable. - Użycie polimorfizmu: Tworzymy tablicę obiektów implementujących interfejs
Drawablei 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!