Dziedziczenie a kompozycja
Założenie: Przedstawimy różnicę między dziedziczeniem a kompozycją w PHP na prostym przykładzie.
Krok po kroku:
- Stworzenie klasy `Silnik` reprezentującej silnik samochodu:
Ta klasa definiuje prosty silnik z metodą `dzialaj()`.
- Stworzenie klasy `Samochod` używającej kompozycji:
silnik = $silnik; } public function jedz() { $this->silnik->dzialaj(); echo "Samochód jedzie!\n"; } } ?>
Klasa `Samochod` wykorzystuje kompozycję, składając się z obiektu klasy `Silnik`. Konstruktor wymaga przekazania obiektu `Silnik`.
- Utworzenie obiektu `Silnik` i `Samochod` oraz użycie metody `jedz()`:
jedz(); ?>
Tutaj tworzymy obiekty i wywołujemy metodę `jedz()`, która uruchamia silnik i informuje, że samochód jedzie.
Ten przykład pokazuje, jak kompozycja pozwala na tworzenie obiektów z innych obiektów, co jest elastyczniejszym podejściem niż dziedziczenie w wielu sytuacjach. Zachęcamy do dalszego zgłębiania tematu programowania obiektowego w PHP!