Junior — Middle
Ako sa v Kotlinu vykonáva práca s reflexiou?
sobes.tech AI
Odpoveď od AI
V Kotlinu sa spracovaním reflexie zaobera pomocou balíka kotlin.reflect. Hlavná trieda je KClass, ktorá reprezentuje triedu počas behu. Prostredníctvom reflexie je možné získať informácie o vlastnostiach, funkciách, konštruktoroch a anotáciách tried.
Príklad na získanie názvu triedy a zoznamu jej vlastností:
import kotlin.reflect.full.memberProperties
class User(val name: String, val age: Int)
fun main() {
val kClass = User::class
println("Názov triedy: ${kClass.simpleName}")
for (prop in kClass.memberProperties) {
println("Vlastnosť: ${prop.name}")
}
}
Je tiež možné volať funkcie a vytvárať inštancie pomocou reflexie, ale na to je niekedy potrebné použiť Java Reflection API (java.lang.reflect).
Reflexia je užitočná pre dynamickú analýzu a prácu s objektmi, napríklad pri serializácii, DI alebo písaní frameworkov.