KWALIFIKACJA INF3 - CZERWIEC 2019

PYTANIE NR 29.
Specjalna metoda danej klasy stosowana w programowaniu obiektowym, wywoływana automatycznie podczas tworzenia obiektu, której podstawowym zadaniem jest zwykle zainicjowanie pól, to
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Konstruktor to specjalna metoda klasy uruchamiana automatycznie w chwili tworzenia obiektu (instancji). Jej typowym zadaniem jest nadanie obiektowi poprawnego stanu początkowego, np. ustawienie wartości pól lub sprawdzenie przekazanych parametrów. Pozostałe pojęcia nie pełnią funkcji inicjalizacji przy tworzeniu obiektu.

Pełne wyjaśnienie:

W programowaniu obiektowym opis dotyczy konstruktora, czyli metody specjalnej związanej z klasą, która uruchamia się automatycznie podczas tworzenia nowej instancji. Jej kluczowym celem jest zapewnienie, aby obiekt od pierwszej chwili istnienia miał poprawny, spójny stan.

W praktyce konstruktor najczęściej:

  • inicjalizuje pola (ustawia wartości domyślne lub przypisuje wartości przekazane w argumentach),
  • wykonuje podstawową walidację danych wejściowych,
  • przygotowuje obiekt do dalszego użycia (np. ustawia zależności lub konfigurację).

Odpowiedź "destruktor" jest błędna, ponieważ destruktor (lub mechanizmy z nim kojarzone, jak finalizacja) dotyczą etapu kończenia życia obiektu i zwalniania zasobów, a nie inicjalizacji przy tworzeniu. Odpowiedź "obiekt" jest błędna, bo obiekt to instancja klasy, a nie metoda wywoływana automatycznie. Odpowiedź "specyfikator dostępu" również jest błędna: specyfikatory dostępu (np. publiczny/prywatny w zależności od języka) opisują widoczność elementów, nie są metodą i nie inicjalizują pól w momencie tworzenia obiektu.

Wskazówka egzaminacyjna: gdy w treści pojawiają się jednocześnie elementy "metoda specjalna", "wywoływana automatycznie" oraz "tworzenie obiektu/inicjalizacja pól", najczęściej chodzi właśnie o konstruktor.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
Konstruktor to specjalna metoda klasy, która uruchamia się automatycznie przy tworzeniu obiektu. Jej celem jest ustawienie stanu początkowego instancji, np. przypisanie wartości polom i sprawdzenie parametrów, aby obiekt od razu był gotowy do użycia.
Automatyczne wywołanie zapewnia, że każda nowa instancja przechodzi ten sam etap inicjalizacji. Dzięki temu obiekt nie powstaje w "pustym" lub niespójnym stanie, a programista ma miejsce na ustawienie pól i podstawową walidację danych wejściowych.
Najczęściej inicjalizuje pola, przypisuje argumenty do atrybutów, ustawia wartości domyślne oraz wykonuje prostą walidację parametrów. W zależności od języka może też przygotować zależności (np. przekazane obiekty) tak, aby instancja działała poprawnie od startu.
Konstruktor dotyczy początku życia obiektu (tworzenie i inicjalizacja), a destruktor końca (sprzątanie i zwalnianie zasobów). Na egzaminie zwracaj uwagę na słowa "tworzenie", "inicjalizacja pól" (konstruktor) oraz "niszczenie", "zwalnianie" (destruktor).
Tak, często konstruktor przyjmuje parametry, aby ustawić pola na wartości przekazane przy tworzeniu instancji. To ułatwia tworzenie obiektów w poprawnym stanie od razu, bez konieczności osobnego ustawiania atrybutów po utworzeniu obiektu.
W wielu językach można definiować kilka konstruktorów (przeciążanie), różniących się liczbą i typami parametrów. Pozwala to tworzyć obiekty na różne sposoby. Na testach zwykle rozpoznaje się to po tym, że wszystkie te metody służą inicjalizacji obiektu.
Obiekt to instancja klasy, czyli "konkretny egzemplarz" z własnymi wartościami pól. Nie jest to metoda ani mechanizm uruchamiany automatycznie. W pytaniach o "metodę wywoływaną podczas tworzenia obiektu" szukaj pojęć typu konstruktor, a nie nazw bytów (klasa/obiekt).
Specyfikator dostępu określa widoczność elementów klasy (kto może używać pól i metod). To nie jest metoda uruchamiana przy tworzeniu obiektu, tylko reguła kontroli dostępu. Dlatego nie pasuje do opisu "wywoływana automatycznie" i "inicjalizacja pól".
Wskazówkami są sformułowania: "metoda specjalna klasy", "wywoływana automatycznie podczas tworzenia obiektu" oraz "inicjalizacja pól". Jeśli te elementy występują razem, najczęściej chodzi o konstruktor, bo opisuje on typowy start cyklu życia obiektu.
Najczęstsze to mylenie konstruktora z destruktorem (początek vs koniec życia obiektu) oraz wybór "obiekt" zamiast mechanizmu tworzenia. Pomaga sprawdzanie, czy odpowiedź jest metodą i czy jej rola pasuje do inicjalizacji, a nie do dostępu lub sprzątania zasobów.
info

To pytanie poprawnie rozwiązuje 69% zdających egzamin. średnie

Specjaliści zwracają uwagę: "Konstruktor to specjalna metoda klasy uruchamiana automatycznie w chwili tworzenia obiektu (instancji)."

Źródła:

  • Oracle Java Documentation: "Classes" / "Constructors" (The Java Tutorials) – https://docs.oracle.com/javase/tutorial/java/javaOO/constructors.html (dostęp: 2026-02-27)
  • MDN Web Docs: "constructor" (JavaScript class constructor) – https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes/constructor (dostęp: 2026-02-27)
  • Microsoft Learn: "Using Constructors" (C#) – https://learn.microsoft.com/en-us/dotnet/csharp/programming-guide/classes-and-structs/constructors (dostęp: 2026-02-27)

Materiały:

  • Dokumentacja języka używanego na zajęciach (sekcja o konstruktorach klas)
  • Krótkie ćwiczenia z pisania klas z polami i konstruktorami (różne listy parametrów)
  • Porównawcze notatki: konstruktor vs destruktor/finalizer vs metody zwykłe

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego