Sobes.tech
Junior — Middle

Kotlin-də refleksiya ilə necə işləmək olar?

sobes.tech Süni İntellekt

AI-dan cavab

Kotlin-də refleksiya ilə işləmək kotlin.reflect paketindən istifadə etməklə həyata keçirilir. Əsas sinif KClass-dir və bu, işləmə zamanı sinfi təmsil edir. Refleksiya vasitəsilə siniflərin xüsusiyyətləri, funksiyaları, konstruktorları və annotasiyaları haqqında məlumat əldə etmək mümkündür.

Sinif adını və onun xüsusiyyətlərinin siyahısını almaq üçün nümunə:

import kotlin.reflect.full.memberProperties

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

fun main() {
    val kClass = User::class
    println("Sinif adı: ${kClass.simpleName}")
    for (prop in kClass.memberProperties) {
        println("Xüsusiyyət: ${prop.name}")
    }
}

Həmçinin, funksiyaları çağırmaq və nümunələr yaratmaq üçün refleksiyadan istifadə etmək mümkündür, lakin bəzən Java Reflection API (java.lang.reflect) istifadə etmək lazım olur.

Refleksiya dinamik analiz və obyektlərlə işləmək üçün faydalıdır, məsələn, serializasiya, DI və ya framework-lər yazarkən.