Как разработчик Java, концепция поля поддержки немного чуждо мне. Дано:
class Sample {
var counter = 0 // the initializer value is written directly to the backing field
set(value) {
if (value >= 0) field = value
}
}
Какое это поле для поддержки? Kotlin docs сказал: Классы в Котлине не могут иметь поля. Однако иногда при использовании пользовательских аксессуаров необходимо иметь резервное поле. Зачем? В чем разница с использованием самого имени свойства внутри установщика, например.
class Sample {
var counter = 0
set(value) {
if (value >= 0) this.counter = value // or just counter = value?
}
}