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:

  1. 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;
    }
    				
  2. Implementacja interfejsu w klasach: Stwórzmy dwie klasy: Circle i Square, które implementują interfejs Drawable. 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.";
      }
    }
    				
  3. Użycie obiektów przez zmienną interfejsu: Zadeklarujmy zmienną typu Drawable i przypiszmy do niej obiekty klas Circle i Square. Wywołanie metody draw() 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!

Dodaj komentarz 0

Your email address will not be published. Required fields are marked *