Как добавить базовую реализацию для свойства

«Как добавить базовую реализацию для свойства» — вопрос из категории Kotlin, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

В Kotlin можно использовать backing field (field) для базовой реализации свойства:

var property: String = "default"
    get() = field
    set(value) {
        field = value
    }

Или с дополнительной логикой:

var counter: Int = 0
    set(value) {
        if (value >= 0) {
            field = value
        }
    }

Для вычисляемых свойств без backing field:

val isEmpty: Boolean
    get() = size == 0

Backing field генерируется автоматически, если используется хотя бы один аксессор по умолчанию или если в кастомном аксессоре есть обращение к field.