Strona główna › Pytania INF.03 › Pytanie 1810
INF.03 · pytanie #1810
Jaki będzie rezultat po uruchomieniu podanego skryptu? <pre class="code-block">class Owoc { function __construct() { echo "test1"; } function __destruct() { echo "test2"; } } $gruszka = new Owoc(); </pre>
- APojawi się wyłącznie tekst „test2”
- BPojawi się jedynie tekst „test1”
- CPojawią się oba teksty: „test1” i „test2”
- DNie pojawi się żaden tekst
Poprawna odpowiedź: C. Pojawią się oba teksty: „test1” i „test2”
Kliknij odpowiedź, którą uważasz za poprawną.
Wyjaśnienie
Dobra robota! Odpowiedź, którą wybrałeś, jest właściwa. Jak tworzysz obiekt klasy Owoc, to naprawdę wywołujesz metodę __construct(), która zajmuje się tym, żeby obiekt był gotowy do działania. W tym przypadku, gdy to się dzieje, na ekranie pojawia się 'test1'. Ale warto też pamiętać, że kiedy skrypt kończy swoje działanie albo obiekt jest usuwany, wtedy uruchamia się metoda __destruct(), która wypisuje 'test2'. Więc kiedy tworzysz obiekt $gruszka, to na konsoli najpierw zobaczysz 'test1', a później, po zakończeniu działania skryptu, jak np. przeładowujesz stronę, dostaniesz 'test2'. To całkiem fajnie pokazuje, jak ważne jest zrozumienie, jak działają obiekty w PHP i co się z nimi dzieje przez cały czas. Wiesz, że znajomość tych mechanizmów to klucz do sukcesu, szczególnie w większych projektach, gdzie zarządzanie różnymi zasobami ma znaczenie dla wydajności.
🤖 Wyjaśnienie generowane przez AI – weryfikuj w oficjalnych źródłach.