В Kotlin свойства представляют собой сочетание поля и соответствующего ему геттера и сеттера.
Определение свойства:
kotlin
Здесь mutableProperty - изменяемое свойство с геттером и сеттером по умолчанию. immutableProperty - неизменяемое свойство только с геттером по умолчанию.
Явное определение геттера и сеттера:
kotlin
field - обратная ссылка на поле свойства внутри геттера и сеттера. Используется только для изменяемых свойств (var).computedProperty) не имеют собственного поля и всегда рассчитывают значение при доступе.Ключевые моменты:
instance.propertyName).val свойства всегда должны возвращать значение того же типа.var свойства принимают параметр того же типа.Сравнение свойств в Kotlin и полей+методов в Java:
| Kotlin Свойство | Java Поле + Методы | Описание |
|---|---|---|
var myProperty: Type | private Type myProperty; + public Type getMyProperty() + public void setMyProperty(Type value) | Изменяемое свойство с автоматическими геттером и сеттером. |
val myProperty: Type | private Type myProperty; + public Type getMyProperty() | Неизменяемое свойство только с автоматическим геттером. |
| Кастомный геттер/сеттер | Явное написание логики | Добавление пользовательской логики при доступе/изменении. |
| Вычисляемое свойство | Явный метод, возвращающий значение | Значение свойства вычисляется при каждом запросе. |