Назад к вопросам
JuniorТеорияЧасто
Что выведет программа?
class Counter {
var count = 0
val stored = count * 10
val computed get() = count * 10
}
fun main() {
val c = Counter()
c.count = 2
println("${c.stored} ${c.computed}")
}0 20
- Ждать
20 20: считать, чтоstoredменяется вслед заcount. Его инициализатор выполняется один раз, при создании объекта, иstoredостаётся0. - Ждать
0 0: считать, что свойство сget()вычисляется один раз, как обычное.get()выполняется при каждом чтении и видитcount = 2.
- Что покажет
c.computedпослеc.count = 5и почему? - Какое из двух свойств хранит значение внутри объекта, а какое — нет?