Interfejsy a refaktoryzacja

Założenie: Pokażemy, jak interfejsy w PHP ułatwiają refaktoryzację kodu poprzez stworzenie przykładu z dwoma klasami implementującymi ten sam interfejs.

Krok po kroku:

  1. Definicja interfejsu: Tworzymy interfejs Drawable z metodą draw().
  2. 
    interface Drawable {
      public function draw();
    }
    				

    Ten kod definiuje interfejs Drawable, który deklaruje metodę draw(). Klasy implementujące ten interfejs muszą zaimplementować tę metodę.

  3. Implementacja interfejsu w klasie Circle: Tworzymy klasę Circle implementującą interfejs Drawable.
  4. 
    class Circle implements Drawable {
      public function draw() {
        echo "Rysuję koło
    "; } }

    Klasa Circle implementuje metodę draw(), która wypisuje komunikat “Rysuję koło”.

  5. Implementacja interfejsu w klasie Square: Tworzymy klasę Square również implementującą interfejs Drawable.
  6. 
    class Square implements Drawable {
      public function draw() {
        echo "Rysuję kwadrat
    "; } }

    Podobnie jak Circle, klasa Square implementuje metodę draw(), ale z inną implementacją.

  7. Użycie interfejsu: Używamy interfejsu Drawable do rysowania figur.
  8. 
    $circle = new Circle();
    $square = new Square();
    
    $circle->draw();
    $square->draw();
    				

    Ten kod tworzy obiekty Circle i Square i wywołuje metodę draw() dla każdego z nich. Dzięki interfejsowi, kod ten działa niezależnie od konkretnej implementacji.

Ten przykład pokazuje, jak interfejsy pozwalają na zmianę implementacji (np. dodanie nowych figur) bez konieczności modyfikacji kodu, który używa interfejsu. Zachęcamy do dalszego zgłębiania tematu interfejsów i abstrakcji w PHP!

Dodaj komentarz 0

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