Özet - Reflection
- Kotlin kursu
- İleri seviye
- Ders 66/83
- 5 dk
KClass, KProperty ve call'i birleştirerek bir serialization framework yazarsın.
Özet - Reflection
Bu grupta reflection araçlarını gördün: KClass ile sınıf bilgisi, KProperty ile özellik erişimi, KFunction ile fonksiyon bilgisi, call ile dinamik çağrı ve annotation'lar ile meta veri.
Bu ders, üçünü birleştiren küçük bir görev içerir: bir sınıfın KClass referansını alıp simpleName ve members.size değerlerini yazdıracaksın. Bu kalıp, reflection'ın temelini bir araya getirir.
Uygulama Özet: Person KClass incele
class Person(val name: String, val age: Int) tanımla. main içinde val kc = Person::class al ve önce println(kc.simpleName), sonra println(kc.members.size) çağrılarını yaz.
Başlangıç kodu
// Person sınıfı: name ve age özellikleri
// main'de kc al, adını ve üye sayısını yazdırÖrnek çözüm
class Person(val name: String, val age: Int)
fun main() {
val kc = Person::class
println(kc.simpleName)
println(kc.members.size)
}Beklenen çıktı
Person 5
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Bir fonksiyonu çalışma zamanında çağırmak için hangi metot kullanılır?
- call Doğru cevap
- let
- apply
- also
Açıklama: call ile KFunction çağrılır.
2 Reflection araçlarını eşle
| Kavram | Anlamı |
|---|---|
KClass |
Sınıf bilgisi |
KProperty |
Özellik erişimi |
KFunction |
Fonksiyon bilgisi |
annotations |
Meta veri |
3 simpleName çağrısını tamamla
val kc = Person::class
println(kc.____)
val kc = Person::class
println(kc.simpleName)
Açıklama: kc.simpleName sınıfın adını verir.