Interfejsy a polimorfizm dynamiczny
Założenie: Pokażemy, jak wykorzystać interfejsy w PHP do osiągnięcia polimorfizmu dynamicznego, czyli możliwości używania obiektów różnych klas w sposób jednolity, o ile implementują one ten sam interfejs.
Krok po kroku:
- Definicja interfejsu: Zdefiniujmy interfejs
Drawable, który określa metodędraw(). Ta metoda będzie odpowiedzialna za rysowanie obiektu.interface Drawable { public function draw(): string; } - Implementacja interfejsu w klasach: Stwórzmy dwie klasy:
CircleiSquare, które implementują interfejsDrawable. Każda klasa będzie implementować metodędraw()na swój sposób.class Circle implements Drawable { public function draw(): string { return "Rysuję koło."; } } class Square implements Drawable { public function draw(): string { return "Rysuję kwadrat."; } } - Użycie obiektów przez zmienną interfejsu: Zadeklarujmy zmienną typu
Drawablei przypiszmy do niej obiekty klasCircleiSquare. Wywołanie metodydraw()będzie działać poprawnie dla obu obiektów.$drawable1 = new Circle(); $drawable2 = new Square(); echo $drawable1->draw() . "
"; // Wyświetli: Rysuję koło. echo $drawable2->draw(); // Wyświetli: Rysuję kwadrat.
Ten przykład pokazuje podstawy wykorzystania interfejsów w PHP do osiągnięcia polimorfizmu dynamicznego. Zachęcamy do dalszego zgłębiania tematu i eksperymentowania z różnymi implementacjami!