Middle
Кои стандартни делегати знаете?
sobes.tech AI
Отговор от AI
by lazy— се използва за отлагана инициализация на свойство. Стойността се изчислява при първия достъп до свойството и се кешира.val lazyValue: String by lazy { println("initialized") // Ще се изпълни само при първия достъп "Hello" }Delegates.observable— делегат, който позволява да се изпълни действие при всяка промяна на стойността на свойството.import kotlin.properties.Delegates var name: String by Delegates.observable("начална стойност") { prop, old, new -> println("Стойността за ${prop.name} се промени от $old на $new") }Delegates.vetoable— делегат, който позволява да се прихване промяната на стойността на свойството и да се отмени въз основа на условие.import kotlin.properties.Delegates var age: Int by Delegates.vetoable(10) { prop, old, new -> new >= 0 // Позволяват се само неотрицателни стойности }