Konstruktory
Konstruktory są funkcjami klasy, które są automatycznie wywoływane przy tworzeniu nowej instancji klasy korzystając z operatora new. Funkcja staje się konstruktorem kiedy ma taką samą nazwę jak klasa. Jeśli klasa nie ma konstruktora, użyty zostanie konstruktor klasy nadrzędnej, jeśli taka istnieje.
<?php |
Ten kod definiuję klasę Auto_Koszyk, który jest klasą Koszyk pluc konstruktor, który inicjalizuje wózek z jednym artykułem "10" za każdym razem, kiedy Auto_Koszyk jest tworzony operatorem "new". Konstruktory mogą pobierać argumenty i te argumenty mogą być opcjonalne, przez co są jeszcze bardziej użyteczne. Aby w dalszym ciągu móc używać klasy bez parametrów, wszystkie parametry konstruktora powinny stać się opcjonalne przez dodanie domyślnych wartości.
<?php |
Możesz także użyć operatora @ aby wyciszyć błędy zachodzące w konstruktorze, np. @new
<?php |
Funkcja B() z klasy A niespodziewanie stanie się konstruktorem w klasie B, pomimo że wcale nie miała nim być. PHP 4 nie obchodzi czy funkcja została zdefiniowana w klasie B czy została odziedziczona.
Uwaga! |
PHP 4 nie wywołuje automatycznie konstruktora klasy bazowej z kontruktora klasy pochodnej. Twoim zadaniem jest propagacja wywołań konstruktorów klas nadrzędnych, jeśli to konieczne. |
Destruktory są funkcjami, które są wywoływanie automatycznie kiedy obiekty są niszczone albo przez użycie unset() albo przez wyjście z zasięgu. W PHP nie ma destruktorów. Można jednak użyć funkcji register_shutdown_function() aby symulować działanie destruktorów.
Poprzedni | Spis treści | Następny |
extends | Początek rozdziału | Operat |