Sobes.tech
Junior — Middle

Magyarázza el a delegált tulajdonságok működési elvét a Kotlin programozási nyelvben.

sobes.tech MI

Válasz az MI-től

Kotlinban a delegált tulajdonságok lehetővé teszik, hogy egy tulajdonság olvasási és írási műveleteit egy másik objektumra — a delegáltra — irányítsuk. Ez megkönnyíti az adathozzáférési logika újrahasznosítását.

Szintaxis:

var tulajdonságNév: Típus delegált által

Például az alapértelmezett lazy delegált az első hozzáféréskor inicializálja az értéket:

val lazyÉrték: String by lazy {
    println("Érték számítása")
    "Helló, Kotlin!"
}

fun main() {
    println(lazyÉrték) // Itt az érték kiszámításra kerül és ki lesz írva
    println(lazyÉrték) // Itt az érték a gyorsítótárból lesz kivéve
}

Saját delegáltakat hozhatsz létre az ReadOnlyProperty vagy ReadWriteProperty interfész megvalósításával. A delegáltak hasznosak késleltetett inicializálás, változásfigyelés, térképekben való tárolás stb. megvalósítására.