Programowanie obiektowe na egzaminie INF.04

INF.04 · 106 pytań w banku
Programowanie obiektowe porządkuje program wokół obiektów, które mają własny stan i zachowanie. Na egzaminie trzeba nie tylko znać definicje, lecz także przewidzieć wynik działania krótkiego fragmentu kodu i rozpoznać relację między klasami.
przejdź do pytań INF.04

Od klasy do obiektu

Klasa jest opisem wspólnych pól i metod, a obiekt konkretnym egzemplarzem utworzonym na jej podstawie. Jeśli klasa Konto ma pole saldo i metodę wplac, dwa obiekty tej klasy mogą mieć różne salda, ale wykonują tę samą logikę metody. Konstruktor ustawia poprawny stan początkowy, na przykład numer rachunku i saldo równe zero.
Metoda instancyjna działa na stanie konkretnego obiektu. Metoda statyczna należy do klasy i nie potrzebuje egzemplarza, dlatego nadaje się na przykład do funkcji tworzącej identyfikator. W pytaniu z kodem najpierw zaznacz, ile obiektów powstało i które przypisanie zmienia pole obiektu, a które tylko zmienną lokalną.

Hermetyzacja, abstrakcja i dziedziczenie

Hermetyzacja ukrywa szczegóły reprezentacji i udostępnia kontrolowany sposób zmiany stanu. Prywatnego pola saldo nie zmienia dowolny kod. Robi to metoda wyplac, która może sprawdzić kwotę i odmówić operacji. Modyfikatory public, private i protected określają, skąd wolno korzystać z elementu klasy, ale same nie zastępują dobrze zaprojektowanych metod.
Dziedziczenie opisuje relację typu jest, na przykład PracownikEtatowy jest Pracownikiem. Klasa abstrakcyjna może dostarczyć wspólny stan i część implementacji, lecz nie tworzy się jej bezpośrednio. Interfejs określa wymagany zestaw operacji. Dzięki temu różne klasy, na przykład Drukarka i EksporterPdf, mogą realizować tę samą umowę zapisz bez wspólnego przodka.

Przeciążanie i przesłanianie to dwie różne rzeczy

Przeciążanie oznacza kilka metod o tej samej nazwie, ale różnych listach parametrów. Metody drukuj(string tekst) oraz drukuj(string tekst, int kopie) są wybierane przez kompilator na podstawie argumentów wywołania. W C# sama zmiana typu zwracanego nie tworzy nowego przeciążenia, ponieważ typ wyniku nie jest częścią sygnatury używanej do tego rozstrzygnięcia.
Przesłanianie dotyczy dziedziczenia. Klasa Figura może deklarować wirtualną metodę pole, a Kolo dostarczyć jej własną implementację. Gdy zmienna typu Figura wskazuje obiekt Kolo, wywołana zostanie wersja właściwa dla rzeczywistego obiektu. To polimorfizm czasu wykonania. Nie należy go mylić z ukryciem metody, przy którym wybór może zależeć od typu zmiennej.

Kompozycja zamiast sztucznego dziedziczenia

Kompozycja opisuje relację ma. Samochod ma Silnik, więc przechowuje obiekt Silnik i przekazuje mu zadanie uruchomienia. Zdanie Samochod jest Silnikiem byłoby fałszywe, dlatego dziedziczenie nie pasuje. Podobnie Koszyk może korzystać z obiektu KalkulatorRabatu, zamiast dziedziczyć po nim tylko po to, aby wywołać jedną metodę.
Kompozycja ułatwia wymianę części programu i testowanie ich osobno. Dziedziczenie jest właściwe, gdy klasa potomna rzeczywiście może zastąpić klasę bazową bez łamania jej umowy. Na egzaminie warto zadać dwa pytania: czy zachodzi relacja jest, czy jedynie ma albo używa.

Jak czytać kod obiektowy na egzaminie

Rozpisz klasy od bazowej do potomnych, zaznacz konstruktory, pola statyczne i metody przesłonięte. Potem przejdź instrukcje po kolei, zapisując osobno stan każdego obiektu. Przy wywołaniu metody sprawdź typ rzeczywistego obiektu, a przy metodzie przeciążonej liczbę i typy argumentów.
Szczególną uwagę zwróć na kolejność konstruktorów, zakres zmiennych i przekazywanie obiektów do metod. Jeżeli dwie zmienne wskazują ten sam obiekt, zmiana jego pola będzie widoczna przez obie. Utworzenie nowego obiektu i przypisanie go do jednej zmiennej nie zmienia natomiast obiektu wskazywanego przez drugą.
Z tym działem powiązano 106 pytań w banku INF.04. Na ekranie Wszystkie pytania wybierz jeden z tagów: programowanie-obiektowe. Możesz wtedy przejrzeć zadania tylko z interesującego Cię obszaru.
ZAWODNIK
egzamin zawodowy INF.02 · INF.03 · INF.04
serwer Discord
Egzaminy zawodowe IT/Matury/Studia
@yastor
© 2026 Zawodnik · by Yastor
Arkusze i zasady oceniania pochodzą z CKE. Serwis nie jest powiązany z Centralną Komisją Egzaminacyjną.