Sobes.tech
Middle

Hangi standart delegeleri biliyorsun?

sobes.tech yapay zeka

AI'dan gelen yanıt

  • by lazy — bir özelliğin tembel başlatılması için kullanılır. Değer, özelliğe ilk erişimde hesaplanır ve önbelleğe alınır.
    val lazyValue: String by lazy {
        println("initialized") // Sadece ilk erişimde çalışır
        "Hello"
    }
    
  • Delegates.observable — her özellik değişiminde bir işlem gerçekleştirmeyi sağlayan delegat.
    import kotlin.properties.Delegates
    
    var name: String by Delegates.observable("başlangıç değeri") {
        prop, old, new ->
        println("${prop.name} değeri $old'den $new'ye değişti")
    }
    
  • Delegates.vetoable — özellik değer değişimini yakalayan ve belirli bir koşula göre iptal eden delegat.
    import kotlin.properties.Delegates
    
    var age: Int by Delegates.vetoable(10) {
        prop, old, new ->
        new >= 0 // Sadece negatif olmayan değerler izinlidir
    }