Sobes.tech
Back to questions
Junior — Middle
67

Какие существуют уровни доступа для компонентов в Kotlin и как они используются?

Companies where asked
Технократия
ПромсвязьбанкПромсвязьбанк
ПСБ
Платформа Трим
ВГТРК СМОТРИМ
Viasat tech
Ozon FreshOzon Fresh
Инити

Answer from AI

sobes.tech AI

В Kotlin существуют следующие уровни доступа для компонентов (классов, функций, свойств и т.д.):

  • public — доступ открыт везде. Это уровень доступа по умолчанию.
  • internal — доступен в пределах одного модуля (модуля компиляции).
  • protected — доступен в классе и его подклассах.
  • private — доступен только внутри файла (для верхнеуровневых деклараций) или внутри класса (для членов класса).

Пример использования:

class Example {
    private val secret = "private"
    protected val semiSecret = "protected"
    internal val moduleVisible = "internal"
    val publicInfo = "public" // public по умолчанию
}
  • private ограничивает доступ к члену только внутри класса.
  • protected позволяет наследникам видеть член.
  • internal ограничивает доступ в пределах одного модуля (например, одного Gradle-модуля).
  • public позволяет использовать компонент везде.

Это помогает контролировать инкапсуляцию и область видимости компонентов в приложении.