Sobes.tech
Junior — Middle

Kotlin dilinde 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. Bu, kod tekrarını önlemeye ve bileşimi basitleştirmeye yardımcı olur.

En yaygın örnek, by anahtar kelimesi kullanılarak özelliklerin delegasyonudur.

Özellik delegasyon örneği:

class User {
    var name: String by Delegates.observable("") { prop, eski, yeni ->
        println("${prop.name} özelliği $eski'den $yeni'ye değişti")
    }
}

Ayrıca, bir arayüzün uygulamasını da devralabilirsiniz:

interface Printer {
    fun print()
}

class RealPrinter : Printer {
    override fun print() {
        println("Belge yazdırılıyor")
    }
}

class Manager(printer: Printer) : Printer by printer

fun main() {
    val realPrinter = RealPrinter()
    val manager = Manager(realPrinter)
    manager.print() // çağrı realPrinter'a devredilir
}

Bu yaklaşım, sorumlulukları ayırmaya ve kodu kalıtım olmadan yeniden kullanmaya olanak tanır.