KClass
- Kotlin kursu
- İleri seviye
- Ders 61/83
- 5 dk
::class ve KClass ile sınıf bilgisi öğrenirsin.
KClass ile sınıf bilgisi
KClass, bir sınıfın çalışma zamanı bilgisini tutar. ::class sözdizimi ile bir türün KClass referansını alırsın. Üyeler, kurucular ve üst sınıflar hakkında bilgi verir.
Örnek: val kc = String::class; println(kc.simpleName). Bu, String yazdırır. kc.isData ile data class mı diye, kc.members ile üyeleri öğrenebilirsin. Reflection, çalışma zamanında türleri incelemek için kullanılır.
simpleName ve isData
KClass'ın simpleName özelliği sınıfın kısa adını verir. isData, isAbstract, isSealed gibi bayraklar sınıfın doğasını belirtir.
Örnek: data class User(val name: String). User::class.isData ifadesi true döner. User::class.simpleName ise "User" verir. Bu bayraklar, çalışma zamanında türün yapısına göre dallanma yapmanı sağlar.
Uygulama Person sınıfının adını yazdır
class Person(val name: String) tanımla. main içinde Person::class.simpleName sonucunu println ile yazdır.
Başlangıç kodu
// Person sınıfı: name özelliği
// main'de sınıfın adını reflection ile yazdırÖrnek çözüm
class Person(val name: String)
fun main() {
println(Person::class.simpleName)
}Beklenen çıktı
Person
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Bir sınıfın KClass referansını almak için hangi sözdizimi kullanılır?
- getClass()
- .class
- classOf<>()
- ::class Doğru cevap
Açıklama: Kotlin'de ::class ile KClass referansı alınır.
2 KClass referansını tamamla
val kc = String____
val kc = String::class
Açıklama: ::class ile KClass referansı alınır.
3 KClass parçalarını eşle
| Kavram | Anlamı |
|---|---|
String::class |
KClass referansı |
simpleName |
Tür adı |
isData |
Data class bayrağı |
members |
Üyeler |