Junior — Middle
Kā Kotlin veic refleksijas darbu?
sobes.tech AI
Atbilde no AI
Kotlinā ar refleksiju strādā ar kotlin.reflect paketi. Galvenā klase ir KClass, kas pārstāv klasi izpildes laikā. Ar refleksiju var iegūt informāciju par klases īpašībām, funkcijām, konstruktoriem un anotācijām.
Piemērs, kā iegūt klases nosaukumu un tās īpašību sarakstu:
import kotlin.reflect.full.memberProperties
class User(val name: String, val age: Int)
fun main() {
val kClass = User::class
println("Klases nosaukums: ${kClass.simpleName}")
for (prop in kClass.memberProperties) {
println("Īpašība: ${prop.name}")
}
}
Tāpat ir iespējams izsaukt funkcijas un veidot instances, izmantojot refleksiju, bet dažreiz tam ir nepieciešams izmantot Java Reflection API (java.lang.reflect).
Refleksija ir noderīga dinamiskai analīzei un darbam ar objektiem, piemēram, serializācijā, DI vai frameworku rakstīšanā.