PHP/Klasy i obiekty: Różnice pomiędzy wersjami

Usunięta treść Dodana treść
→‎Tworzenie klas: poprawka z unikalny na unikatowy
"ponieważ jednym śladem w ładowarce jest zwrócenie pustej tablicy" = > "ponieważ jedynym śladem w ładowarce jest zwrócenie pustej tablicy" tzn. zamieniłem "jednym" na "jedynym"
Linia 272:
</source>
 
Naszemu systemowi brakuje wciąż parę rzeczy. Przykładowo, można by pokusić się o zrobienie różnych rodzajów ładowarek: z plików, z bazy danych itd., lecz do tego potrzebna jest nam znajomość dziedziczenia. Ponadto przydałoby się, aby system potrafił odpowiednio raportować błędy. Póki co, jeśli pomylimy się w nazwie pliku konfiguracji, dowiemy się o tym dopiero po wnikliwym śledztwie, ponieważ jednymjedynym śladem w ładowarce jest zwrócenie pustej tablicy. Odpowiednie mechanizmy poznamy w dalszej części podręcznika.
 
Stworzony system konfiguracji wykorzystuje jeszcze jedną technikę programistyczną o nazwie '''kompozycja'''. Jest to alternatywny do dziedziczenia sposób rozszerzania funkcjonalności obiektów, który jednak nie wymaga żadnej dodatkowej składni. Obrazowo mówiąc, polega on na tym, że jeden obiekt przechowuje referencje do innych obiektów, które potrafi wykorzystywać lub których funkcjonalność potrafi udostępnić na zewnątrz. W przeciwieństwie do dziedziczenia, kompozycja ma charakter dynamiczny. Możemy napisać algorytm, który w locie skomponuje nam gotowy obiekt, niczym z klocków lego, np. na podstawie konfiguracji lub opisu w bazie danych. Kompozycja jest bardzo często stosowana w praktyce obok dziedziczenia.