Sobes.tech
Junior — Middle

Hogyan működik a reflexió Kotlinban?

sobes.tech MI

Válasz az MI-től

Kotlinben a reflexióval való munka a kotlin.reflect csomag segítségével történik. A fő osztály a KClass, amely egy osztályt reprezentál futásidőben. A reflexió segítségével információkat szerezhetünk az osztály tulajdonságairól, funkcióiról, konstruktorairól és annotációiról.

Példa az osztály nevének és tulajdonságainak listázására:

import kotlin.reflect.full.memberProperties

class User(val name: String, val age: Int)

fun main() {
    val kClass = User::class
    println("Osztály neve: ${kClass.simpleName}")
    for (prop in kClass.memberProperties) {
        println("Tulajdonság: ${prop.name}")
    }
}

Függvények hívása és példányok létrehozása is lehetséges reflexióval, de ehhez néha szükség van a Java Reflection API (java.lang.reflect) használatára.

A reflexió hasznos dinamikus elemzéshez és objektumokkal való munkához, például serializáció, DI vagy keretrendszerek írása során.