4. Изучите модификаторы видимости

В коде до сих пор не было модификаторов видимости, таких как `public` publicили private`public`. Это потому, что по умолчанию в Kotlin всё является публичным, а это значит, что ко всему можно получить доступ везде, включая классы, методы, свойства и переменные-члены.

В Kotlin классы, объекты, интерфейсы, конструкторы, функции, свойства и их сеттеры могут иметь модификаторы видимости :

  • privateЭто означает, что он будет виден только в этом классе (или исходном файле, если вы работаете с функциями).
  • protectedЭто то же самое, что и private, но оно также будет видно любым подклассам.
  • internalЭто означает, что он будет виден только внутри этого модуля. Модуль — это набор файлов Kotlin, скомпилированных вместе, например, библиотека, клиентское или серверное приложение в проекте IntelliJ. Обратите внимание, что использование слова «модуль» здесь не связано с модулями Java, которые были введены в Java 9.
  • publicЭто означает, что данные видны за пределами класса. По умолчанию все является публичным, включая переменные и методы класса.

Дополнительную информацию см. в разделе «Модификаторы видимости» в документации Kotlin.

Переменные участника

Свойства внутри класса, или переменные-члены, publicпо умолчанию являются изменяемыми. Если вы определяете их с помощью `<div>` var, они являются изменяемыми, то есть доступными для чтения и записи. Если вы определяете их с помощью `<div>` val, они становятся доступными только для чтения после инициализации.

Если вам нужно свойство, которое ваш код может читать или записывать, но внешний код может только читать, вы можете оставить свойство и его геттер публичными, а сеттер объявить приватным, как показано ниже.

var volume: Int
    get() = width * height * length / 1000
    private set(value) {
        height = (value * 1000) / (width * length)
    }

Last modified: Sunday, 5 April 2026, 1:56 PM