KWALIFIKACJA INF3 - WRZESIEŃ 2014

PYTANIE NR 25.
Instrukcja języka PHP tworząca obiekt pkt dla zdefiniowanej w ramce klasy Punkt ma postać
Ilustracja przedstawia fragment kodu w języku PHP, który definiuje klasę o nazwie 'Punkt'.
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Poprawny zapis utworzenia obiektu w PHP wymaga użycia słowa kluczowego new oraz wywołania konstruktora klasy.
Instrukcja pkt = new Punkt(); tworzy instancję klasy Punkt i przypisuje ją do identyfikatora. Pozostałe zapisy nie są poprawną składnią instancjonowania obiektu w PHP.

Pełne wyjaśnienie:

W PHP obiekt tworzy się przez instancjonowanie klasy, czyli wywołanie operatora new. Taki zapis powoduje utworzenie nowej instancji (egzemplarza) klasy oraz – jeśli klasa ma konstruktor – jego uruchomienie.

Odpowiedź "pkt = new Punkt();" ma właściwą strukturę: po lewej stronie znajduje się identyfikator, do którego przypisujemy wynik, a po prawej stronie wyrażenie tworzące obiekt: new NazwaKlasy(). Nawiasy okrągłe po nazwie klasy oznaczają wywołanie konstruktora (nawet jeśli nie przyjmuje argumentów). Średnik zamyka instrukcję.

Pozostałe propozycje są typowymi pułapkami wynikającymi z mieszania składni języków:

  • "pkt Punkt;" przypomina deklarację w stylu "typ zmienna" znaną z C/C++/Javy, ale nie jest poprawną instrukcją tworzenia obiektu w PHP.
  • "pkt Punkt();" nie zawiera operatora new ani poprawnego przypisania; wygląda jak zniekształcony zapis deklaracji lub wywołania funkcji.
  • "Punkt() pkt;" także nie odpowiada składni PHP; przestawia elementy jak w niektórych językach z deklaracjami, ale nie tworzy instancji klasy.

W praktyce egzaminacyjnej warto pamiętać o schemacie: zmienna = new Klasa();. To odróżnia tworzenie obiektu od samego użycia nazwy klasy lub zapisu przypominającego deklarację typu.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
Utworzyć obiekt w PHP znaczy stworzyć instancję klasy w pamięci programu. Robi się to przez użycie operatora new, np. new Punkt(), a wynik zwykle przypisuje się do zmiennej, aby można było wywoływać metody i odczytywać właściwości.
Operator new tworzy nową instancję wskazanej klasy. PHP rezerwuje pamięć na obiekt, uruchamia konstruktor (jeśli istnieje) i zwraca referencję do obiektu. Najczęściej zapis ma postać: zmienna = new Klasa();.
Zapis Punkt() bez new nie tworzy obiektu klasy, tylko przypomina wywołanie funkcji o nazwie Punkt. W PHP utworzenie instancji klasy wymaga jawnego użycia new, bo dopiero ono uruchamia mechanizm tworzenia obiektu.
Kluczowe są: operator new, nazwa klasy oraz (zwykle) nawiasy konstruktora (). W typowym kodzie dochodzi jeszcze przypisanie do zmiennej i średnik kończący instrukcję, aby można było później używać obiektu.
W praktyce najczęściej zapisuje się new Klasa(), bo to czytelnie wskazuje wywołanie konstruktora. W wielu sytuacjach PHP dopuszcza też zapis bez argumentów, ale na egzaminie bezpieczniej stosować pełny i jednoznaczny wzorzec z nawiasami.
Konstruktor to metoda uruchamiana w momencie tworzenia obiektu (zwykle __construct). Służy do inicjalizacji stanu obiektu, np. ustawienia wartości początkowych pól. Wywołanie konstruktora następuje przy użyciu new i nawiasów.
Klasa to definicja (szablon) z właściwościami i metodami, a obiekt to konkretny egzemplarz tej klasy utworzony w trakcie działania programu. Jeśli w odpowiedzi pojawia się new, to zwykle mowa o tworzeniu obiektu (instancji).
Najczęściej: pominięcie new, pomylenie tworzenia obiektu z deklaracją znaną z innych języków (np. "typ zmienna"), błędna kolejność elementów instrukcji oraz brak średnika. Warto zapamiętać wzorzec: zmienna = new Klasa();.
Tak, ale najpierw definicja klasy musi być dostępna w kodzie, np. przez dołączenie pliku lub autoloading. Dopiero wtedy można wykonać instancjonowanie przez new. Na egzaminie zwykle zakłada się, że klasa jest już poprawnie zdefiniowana.
Ćwicz krótkie przykłady: definicja klasy, konstruktor, tworzenie obiektów, dostęp do pól/metod oraz przekazywanie argumentów do konstruktora. Rób zadania typu "wybierz poprawną instrukcję", bo sprawdzają szybkie rozpoznanie składni new i przypisania.
info

Statystycznie 57% uczniów zna prawidłową odpowiedź. średnie

Według specjalistów z branży: "Pozostałe zapisy nie są poprawną składnią instancjonowania obiektu w PHP."

Źródła:

  • PHP Manual: Objects and Classes — Creating objects, https://www.php.net/manual/en/language.oop5.basic.php (dostęp 2026-02-28)
  • PHP Manual: The new operator, https://www.php.net/manual/en/language.oop5.basic.php#language.oop5.basic.new (dostęp 2026-02-28)
  • PHP Manual: Constructors and Destructors, https://www.php.net/manual/en/language.oop5.decon.php (dostęp 2026-02-28)

Materiały:

  • Dokumentacja PHP: rozdział o klasach i obiektach
  • Materiały kursowe OOP w PHP (konstruktory, new, właściwości, metody)
  • Zadania praktyczne: proste klasy i tworzenie wielu instancji

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego