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.