Junior — Middle
Kotlin-də delege etmə anlayışını və onun istifadəsini izah edə bilərsinizmi?
sobes.tech Süni İntellekt
AI-dan cavab
Kotlin-də delegasiya, müəyyən bir interfeys və ya xüsusiyyətin həyata keçirilməsini başqa bir obyektə ötürməyə imkan verən mexanizmdir, bununla da onu birbaşa sinifdə həyata keçirmək əvəzinə istifadə olunur.
Əsas delegasiya növləri:
- İnterfeys delegasiyası — sinif bir interfeysi həyata keçirir, amma əslində başqa bir obyektin metodlarını çağırır:
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() // 10 çap edir
}
- Xüsusiyyət delegasiyası — xüsusi delegatlar vasitəsilə getter və setterlərin davranışını yenidən tənzimləməyə imkan verir, məsələn
lazy,observablevə ya özləri:
val lazyValue: String by lazy {
println("Dəyər hesablanır")
"Salam"
}
Delegasiya istifadəsi kodun təkrarlanmasını azaltmağa, çevikliyi artırmağa və komponentlərin təkrar istifadəsinə kömək edir.