Relacja “jest-a” (is-a)

Założenie: Zrozumieć i zaimplementować relację “jest-a” (is-a) w PHP używając interfejsów i klas abstrakcyjnych.

Krok po kroku:

  1. Definicja interfejsu `Uruchamialny`: Interfejs definiuje metodę, którą musi zaimplementować każda klasa, która chce być “uruchamialna”.
  2. 
    interface Uruchamialny {
      public function uruchom();
    }
    				
  3. Definicja klasy abstrakcyjnej `Pojazd`: Klasa abstrakcyjna definiuje wspólne cechy pojazdów, np. ma metodę `jedz`. Metoda `uruchom` jest zdefiniowana w interfejsie, więc musi być zaimplementowana w klasach potomnych.
  4. 
    abstract class Pojazd {
      public function jedz() {
        echo "Pojazd jedzie...\n";
      }
      abstract public function uruchom();
    }
    				
  5. Definicja klasy `Samochod`: Klasa `Samochod` dziedziczy po klasie abstrakcyjnej `Pojazd` i implementuje interfejs `Uruchamialny`.
  6. 
    class Samochod extends Pojazd implements Uruchamialny {
      public function uruchom() {
        echo "Samochód został uruchomiony.\n";
      }
    }
    				
  7. Użycie klas: Tworzymy obiekt klasy `Samochod` i wywołujemy jego metody.
  8. 
    $samochod = new Samochod();
    $samochod->jedz();
    $samochod->uruchom();
    				

Ten przykład pokazuje, jak interfejsy i klasy abstrakcyjne pomagają w modelowaniu relacji “jest-a”. `Samochód jest-a Uruchamialny` i `Samochód jest-a Pojazd`. Zachęcamy do dalszego zgłębiania tematu programowania obiektowego w PHP!

Dodaj komentarz 0

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