Jaki kwalifikator należy nadać metodzie, aby dostęp do niej był możliwy tylko z ciała tej klasy i klas potomnych, a jednocześnie, żeby ta metoda nie była dostępna w dowolnej funkcji?
Jaki kwalifikator należy nadać metodzie, aby dostęp do niej był możliwy tylko z ciała tej klasy i klas potomnych, a jednocześnie, żeby ta metoda nie była dostępna w dowolnej funkcji?
Wyjaśnienie i uzasadnienie dydaktyczne
Poprawna odpowiedź: D
Uzasadnienie i szersze wyjaśnienie:
W programowaniu obiektowym, modyfikatory dostępu kontrolują widoczność składowych klasy. Opis w pytaniu precyzyjnie definiuje działanie modyfikatora protected (chroniony).
protected: Składowa oznaczona jakoprotectedjest dostępna wewnątrz klasy, w której została zadeklarowana, oraz we wszystkich klasach, które po niej dziedziczą (klasach potomnych). Jest ona niedostępna z zewnątrz, np. z dowolnej funkcji, która nie jest metodą tej klasy lub jej potomka.
Dlaczego pozostałe odpowiedzi są nieprawidłowe?
- A.
public: Zapewnia pełny, nieograniczony dostęp z dowolnego miejsca w programie. - B.
private: Ogranicza dostęp wyłącznie do wnętrza klasy, w której składowa została zadeklarowana. Klasy potomne nie mają do niej dostępu. - C.
reinterpret_cast: Jest to operator rzutowania typów w języku C++, a nie modyfikator dostępu.
Chcesz poćwiczyć całą kwalifikację INF.04?
Egzamin próbny na czas, nauka działami, losowe pytanie albo przegląd całej bazy — wszystko w przeglądarce i bez zakładania konta.
Pojęcia z tego pytania
- Hermetyzacja (Enkapsulacja w OOP)Jeden z fundamentalnych filarów programowania obiektowego, polegający na ukrywaniu wewnętrznego stanu obiektu (pól prywatnych) i udostępnianiu kontrolowanego dostępu przez publiczne metody/właściwości.
- Modyfikatory dostępu (Access Modifiers)Słowa kluczowe definiujące widoczność i zakres dostępności składowych klasy (pól, metod, właściwości).
- Język programowania C++Wieloparadygmatowy, kompilowany bezpośrednio do kodu maszynowego język programowania ogólnego przeznaczenia, oferujący bezpośrednie zarządzanie pamięcią i najwyższą wydajność.
Podobne pytania z działu „Enkapsulacja i modyfikatory dostepu”
Ten sam obszar materiału z kwalifikacji INF.04. W całej bazie znajdziesz 8 pytań z tego działu.
- #99
W metodach klasy GoldCustomer są widoczne jedynie pola
- #125
Modyfikator dostępu poprzedzający definicję metody Dodaj() zdefiniowanej w klasie Kalkulator powoduje, że:
- #139
Założenie programowania obiektowego polegające na ukrywaniu składowych klasy tak, aby były one dostępne tylko metodom tej klasy lub funkcjom zaprzyjaźnionym, to
- #295
Które zdanie jest zgodne z informacjami o funkcjach zaprzyjaźnionych przedstawionych we fragmencie dokumentacji?
- #538
W klasie zdefiniowano pole, do którego dalej w programie odwoływano się za pomocą nazwy klasy, bez tworzenia obiektu. Oznacza to, że pole musiało być zdefiniowane ze słowem kluczowym