В чем отличие field от property?
В Kotlin свойство (property) — это абстракция над полями (fields), которая позволяет обращаться к значению переменной через методы геттера и сеттера, вместо прямого доступа к полю.
Field — это переменная, которая содержит значение и может быть доступна напрямую или через геттер/сеттер.
Пример определения свойства с геттером и сеттером в классе:
В Kotlin свойство (property) — это абстракция над полями (fields), которая позволяет обращаться к значению переменной через методы геттера и сеттера, вместо прямого доступа к полю.
Field — это переменная, которая содержит значение и может быть доступна напрямую или через геттер/сеттер.
Пример определения свойства с геттером и сеттером в классе:
class Person {В данном примере свойство name содержит поле, которое может быть доступно напрямую только внутри класса, и методы геттера и сеттера, которые позволяют получать и изменять значение свойства через специальные методы.
var name: String = ""
get() = field.toUpperCase() // возвращает значение поля name в верхнем регистре
set(value) {
field = value.trim() // устанавливает значение поля name без начальных и конечных пробелов
}
}