W programowaniu obiektowym klasa jest opisem typu (definiuje pola i metody), a obiekt jest konkretną instancją utworzoną na podstawie tej klasy. Z tego wynika, że pojęcia "klasa" i "obiekt" nie są zamienne: klasa opisuje, a obiekt "istnieje" w programie jako egzemplarz o konkretnym stanie.
Stwierdzenie "Dziedziczenie polega na tworzeniu klas na podstawie tzw. klas bazowych" jest prawdziwe, ponieważ dziedziczenie to mechanizm, w którym klasa pochodna przejmuje cechy (np. metody, pola) z klasy bazowej i może je rozszerzać lub nadpisywać. W praktyce pozwala to budować hierarchie typów i ograniczać duplikację kodu.
Pozostałe odpowiedzi są niepoprawne z typowych powodów definicyjnych:
- "Zastosowanie obiektu wyklucza użycie klasy" – w OOP obiekty powstają na podstawie klas (lub innych konstrukcji typów), więc użycie obiektów zwykle wymaga wcześniejszego zdefiniowania klasy lub typu.
- "Klasy tego samego rodzaju należą do jednego obiektu" – to odwrócenie relacji. To obiekty mogą być wielu instancjami tej samej klasy. Klasy nie "należą" do obiektu w tym sensie.
- "Pojęcia obiekt i klasa można stosować zamiennie" – to częsty błąd początkujących. Obiekt to egzemplarz (instancja) z konkretnymi wartościami pól, a klasa to definicja wspólna dla wielu obiektów.
Wskazówka egzaminacyjna: gdy w odpowiedzi pojawia się "klasa bazowa / klasa pochodna", zwykle dotyczy to dziedziczenia. Gdy mowa o "instancji" lub "egzemplarzu", chodzi o obiekt.