Interfejsy a dziedziczenie

Założenie: Pokażemy, jak klasa w PHP może implementować interfejs i jednocześnie dziedziczyć po klasie nadrzędnej.

Krok po kroku:

  1. Definicja interfejsu: Zdefiniujmy interfejs MojaFunkcja z metodą wyswietl.
  2. 
    interface MojaFunkcja {
      public function wyswietl();
    }
    				

    Ten kod definiuje interfejs o nazwie MojaFunkcja, który deklaruje publiczną metodę wyswietl(). Klasy implementujące ten interfejs muszą zaimplementować tę metodę.

  3. Definicja klasy bazowej: Stwórzmy klasę bazową KlasaBazowa.
  4. 
    class KlasaBazowa {
      public function pokaz() {
        echo "To jest metoda z klasy bazowej.\n";
      }
    }
    				

    Tworzymy klasę KlasaBazowa z metodą pokaz().

  5. Definicja klasy pochodnej: Utwórzmy klasę KlasaPochodna, która dziedziczy po KlasaBazowa i implementuje MojaFunkcja.
  6. 
    class KlasaPochodna extends KlasaBazowa implements MojaFunkcja {
      public function wyswietl() {
        echo "To jest metoda z interfejsu.\n";
      }
    }
    				

    Klasa KlasaPochodna dziedziczy po KlasaBazowa (extends KlasaBazowa) i implementuje interfejs MojaFunkcja (implements MojaFunkcja). Musi ona zaimplementować metodę wyswietl() zdefiniowaną w interfejsie.

  7. Użycie klasy: Utwórzmy obiekt klasy KlasaPochodna i wywołajmy jej metody.
  8. 
    $obiekt = new KlasaPochodna();
    $obiekt->pokaz();
    $obiekt->wyswietl();
    				

    Tworzymy obiekt klasy KlasaPochodna i wywołujemy metody pokaz() (odziedziczona z klasy bazowej) oraz wyswietl() (zaimplementowana z interfejsu).

Ten przykład pokazuje, jak w PHP łączyć dziedziczenie z implementacją interfejsów, co pozwala na tworzenie elastycznych i dobrze zorganizowanych struktur programów.

Zachęcamy do dalszego zgłębiania tematu dziedziczenia i interfejsów w PHP!

Dodaj komentarz 0

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