Sobes.tech
Junior — Middle

Cum se face lucrul cu reflecția în Kotlin?

sobes.tech AI

Răspuns de la AI

În Kotlin, lucrul cu reflecția se realizează prin pachetul kotlin.reflect. Clasa principală este KClass, care reprezintă o clasă în timpul execuției. Prin reflecție, se poate obține informații despre proprietăți, funcții, constructori și adnotări ale claselor.

Exemplu de obținere a numelui clasei și a listei de proprietăți:

import kotlin.reflect.full.memberProperties

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

fun main() {
    val kClass = User::class
    println("Numele clasei: ${kClass.simpleName}")
    for (prop in kClass.memberProperties) {
        println("Proprietate: ${prop.name}")
    }
}

De asemenea, se pot apela funcții și crea instanțe prin reflecție, dar pentru aceasta uneori este necesar să se utilizeze API-ul Java Reflection (java.lang.reflect).

Reflecția este utilă pentru analiza dinamică și lucrul cu obiecte, de exemplu, în serializare, DI sau la scrierea de framework-uri.