Źródło: Arkusze CKE
Jakie znaczenie ma określenie "klasa zaprzyjaźniona" w kontekście programowania obiektowego?
Warianty odpowiedzi
-
A
Klasa, która ma dostęp do prywatnych i chronionych elementów innej klasy
-
B
Klasa, w której wszystkie komponenty są publiczne
-
C
Klasa, która nie ma możliwości zawierania metod statycznych
-
D
Klasa, która może być dziedziczona przez inne klasy
Wyjaśnienie
Klasa zaprzyjaźniona działa na podobnej zasadzie jak funkcja zaprzyjaźniona, ale daje dostęp od razu wszystkim metodom innej klasy.
Jeśli Klasa A ogłosi, że Klasa B jest jej przyjacielem, to Klasa B zyskuje bezpośredni wgląd do prywatnych i chronionych pól oraz metod Klasy A.
Stosuje się to w sytuacjach, gdy dwie klasy są ze sobą niezwykle ściśle powiązane architektonicznie, na przykład we wzorcu Fabryki lub przy zaawansowanej optymalizacji.