Junior — Middle
Kotlin'de delege etme kavramını ve kullanımını açıklayabilir misiniz?
sobes.tech yapay zeka
AI'dan gelen yanıt
Kotlin'de delegasyon, belirli bir arayüz veya özelliğin uygulamasını doğrudan sınıfta yerine, başka bir nesneye aktarmayı sağlayan bir mekanizmadır.
Ana delegasyon türleri:
- Arayüz delegasyonu — sınıf bir arayüzü uygular, ancak aslında başka bir nesnenin 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 yazdırır
}
- Özellik delegasyonu — özel delegeler kullanarak getter ve setter davranışlarını yeniden tanımlamaya olanak tanır, örneğin
lazy,observableveya kendi tanımladıklarınız:
val lazyValue: String by lazy {
println("Değer hesaplanıyor")
"Merhaba"
}
Delegasyon kullanımı, kod tekrarını azaltmaya, esnekliği artırmaya ve bileşenlerin yeniden kullanılabilirliğine yardımcı olur.