W PHP klasa składa się m.in. z właściwości (pól) oraz metod. Właściwości rozpoznasz po deklaracjach typu public/protected/private $nazwa, a metody po słowie function. Aby wybrać poprawną odpowiedź, trzeba więc:
- Policzyć pola zadeklarowane w klasie (np. $nazwa, $kolor).
- Policzyć metody (każda deklaracja function to metoda).
- Sprawdzić modyfikatory dostępu: private oznacza dostęp tylko z wnętrza tej samej klasy; public oznacza dostęp z zewnątrz (np. z kodu tworzącego obiekt); protected rozszerza dostęp na klasy dziedziczące.
Odpowiedź "Ma dwa pola i jedną metodę, pole kolor ma zakres widzialności ograniczony tylko do metod klasy." jest poprawna, gdy w listingu widać dokładnie dwie deklaracje właściwości oraz jedną deklarację metody, a właściwość kolor ma modyfikator private. W praktyce jest to element hermetyzacji: dane są ukryte, a dostęp do nich odbywa się przez metody.
Pozostałe odpowiedzi są błędne typowo z następujących powodów:
- Stwierdzenie o "jednym polu i dwóch metodach" jest niezgodne z liczbą deklaracji w kodzie (częsty błąd to traktowanie konstruktora jako dodatkowej metody bez sprawdzenia, ile jest faktycznych deklaracji function).
- Stwierdzenie o polu nazwa jako prywatnym jest błędne, jeśli w listingu to inne pole (np. kolor) ma modyfikator private. Trzeba patrzeć na słowo kluczowe przed nazwą pola, nie na intuicję.
- Stwierdzenie o "jednym konstruktorze" oraz o tym, że "oba pola są dostępne tylko w metodach klasy" odpada, jeśli w kodzie nie ma konstruktora albo pola nie są oba private (np. jedno jest public).
Wskazówka egzaminacyjna: najpierw zaznacz w kodzie wszystkie linie z deklaracją $... (pola), potem wszystkie function ... (metody) i dopiero na końcu analizuj modyfikatory dostępu.