РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
1279 of 1310 menu

Геттер get

Геттер get определяет поведение при чтении значения свойства. Он вызывается каждый раз, когда происходит обращение к свойству. Геттер может содержать произвольную логику вычисления значения, а также выполнять дополнительные действия.

Синтаксис

var propertyName: Type = initialValue get() { // логика получения значения return computedValue }
val propertyName: Type get() { // логика получения значения return computedValue }
var propertyName: Type = initialValue get() = computedValue

Пример

Создадим свойство с геттером, который возвращает вычисляемое значение:

val numbers = listOf(1, 2, 3, 4, 5) val sizeDescription: String get() = "List contains ${numbers.size} elements" println(sizeDescription)

Результат выполнения кода:

String "List contains 5 elements"

Пример

Использование геттера с field для модификации значения при чтении:

var price: Double = 100.0 get() { return field * 1.2 // добавляем НДС 20% } println(price)

Результат выполнения кода:

Double 120.0

Пример

Геттер для свойства только для чтения с вычисляемым значением:

val userName = "john_doe" val displayName: String get() = userName.replace("_", " ").capitalize() println(displayName)

Результат выполнения кода:

String "John doe"

Пример

Сокращенный синтаксис геттера для однострочных выражений:

val items = listOf('a', 'b', 'c', 'd', 'e') val firstItem: Char get() = items.first() println(firstItem)

Результат выполнения кода:

Char 'a'

Пример

Геттер с дополнительной логикой и проверками:

var score: Int = 85 get() { if (field < 0) { return 0 } if (field > 100) { return 100 } return field } println(score) score = 150 println(score)

Результат выполнения кода:

Int 85 Int 100

Смотрите также

  • ключевое слово set,
    которое определяет логику установки значения свойства
  • ключевое слово val,
    которое объявляет свойства только для чтения
  • ключевое слово var,
    которое объявляет изменяемые свойства
  • ключевое слово field,
    которое предоставляет доступ к backing field свойства
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить