Junior — Middle
Môžete vysvetliť koncept delegovania v Kotlin a jeho použitie?
sobes.tech AI
Odpoveď od AI
V Kotlinu je delegácia mechanizmus, ktorý umožňuje preniesť implementáciu určitého rozhrania alebo vlastnosti na iný objekt, namiesto priamej implementácie v triede.
Hlavné typy delegácie:
- Delegácia rozhrania — trieda implementuje rozhranie, ale v skutočnosti volá metódy iného objektu:
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() // Vytlačí 10
}
- Delegácia vlastností — umožňuje prepísať správanie getterov a setterov pomocou špeciálnych delegátov, ako sú
lazy,observablealebo vlastné:
val lazyValue: String by lazy {
println("Výpočet hodnoty")
"Ahoj"
}
Použitie delegácie pomáha znížiť duplikáciu kódu, zvýšiť flexibilitu a opätovné použitie komponentov.