Junior — Middle
Puteți explica conceptul de delegare în Kotlin și utilizarea sa?
sobes.tech AI
Răspuns de la AI
În Kotlin, delegarea este un mecanism care permite transferul implementării unei anumite interfețe sau proprietăți către un alt obiect, în loc să o implementeze direct în clasă.
Principalele tipuri de delegare:
- Delegarea interfeței — clasa implementează o interfață, dar în realitate apelează metodele altui obiect:
interface Base {
fun print()
}
class BaseImpl(val x: Int) : Base {
override fun print() { println(x) }
}
class Derived(b: Base) : Base by b
fun main() {
val b = BaseImpl(10)
Derived(b).print() // Va afișa 10
}
- Delegarea proprietăților — permite suprascrierea comportamentului getter-ilor și setter-ilor folosind delegați speciali, precum
lazy,observablesau proprii:
val lazyValue: String by lazy {
println("Calcularea valorii")
"Salut"
}
Utilizarea delegării ajută la reducerea duplicării codului, creșterea flexibilității și reutilizarea componentelor.