Junior
32
0
questionbank

Что такое модификаторы видимости и как их использовать в Kotlin?

Answer from sobes.tech neural network

Модификаторы видимости в Kotlin определяют доступность объявлений (классов, интерфейсов, функций, свойств) для других частей программы.

Основные модификаторы видимости:

  • public: Видно везде. Является модификатором по умолчанию.
  • internal: Видно только внутри одного модуля. Модулем считается набор Kotlin-файлов, компилируемых вместе.
  • protected: Видно внутри класса и его подклассов (включая членов, определенных в классах-наследниках). Не видно извне пакета.
  • private: Видно только внутри файла, в котором объявлено. Для членов класса видно только внутри этого класса (и его companion object, вложенных и внутренних классов).

Применение модификаторов:

  • У классов, интерфейсов, объектов и их конструкторов.
  • У функций, свойств и их геттеров/сеттеров на верхнем уровне (за пределами классов).
  • У членов класса (вложенных классов, внутренних классов, функций, свойств).

Пример:

kotlin

Модификаторы видимости в Kotlin определяют доступность объявлений (классов, интерфейсов, функций, свойств) для других частей программы.

Основные модификаторы видимости:

  • public: Видно везде. Является модификатором по умолчанию.
  • internal: Видно только внутри одного модуля. Модулем считается набор Kotlin-файлов, компилируемых вместе.
  • protected: Видно внутри класса и его подклассов (включая членов, определенных в классах-наследниках). Не видно извне пакета.
  • private: Видно только внутри файла, в котором объявлено. Для членов класса видно только внутри этого класса (и его companion object, вложенных и внутренних классов).

Применение модификаторов:

  • У классов, интерфейсов, объектов и их конструкторов.
  • У функций, свойств и их геттеров/сеттеров на верхнем уровне (за пределами классов).
  • У членов класса (вложенных классов, внутренних классов, функций, свойств).

Пример:

kotlin

Register or sign in to get access to full answers for all questions from the question bank.

kotlinvisibility-modifiersaccess-controlobject-oriented-programming