Źródło: Arkusze CKE
Z którym ze słów kluczowych programowania obiektowego w języku JavaScript wiąże się dostęp do pól i metod tylko z poziomu klasy, w której są zdefiniowane?
Warianty odpowiedzi
-
A
A. const
-
B
B. static
-
C
C. public
-
D
D. private
Wyjaśnienie
To jedno z fundamentalnych pojęć programowania obiektowego, czyli hermetyzacja (enkapsulacja). Chodzi o to, aby ukryć wewnętrzny stan obiektu przed światem zewnętrznym.
Słowo kluczowe private (oraz prefiks # w nowszym standardzie ECMAScript) sprawia, że dane pole lub metoda stają się prywatne. Oznacza to, że masz do nich dostęp wyłącznie z wnętrza tej konkretnej klasy. Żaden kod z zewnątrz ani z klas dziedziczących nie będzie mógł ich bezpośrednio modyfikować ani wywoływać.
Dla porównania: public daje dostęp z każdego miejsca w kodzie, static wiąże składową z samą klasą a nie jej instancją, a const służy do tworzenia stałych, co jest osobną kwestią.