Sobes.tech
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:

  1. 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
}
  1. Özellik delegasyonu — özel delegeler kullanarak getter ve setter davranışlarını yeniden tanımlamaya olanak tanır, örneğin lazy, observable veya 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.