KProperty
- Kotlin kursu
- İleri seviye
- Ders 62/83
- 5 dk
KProperty ile özellik bilgisi öğrenirsin.
KProperty ile özellik bilgisi
KProperty, bir özelliğin referansını tutar. ::propertyName ile alınır. name özelliğin adını, get(instance) değerini verir.
Örnek: class User(val name: String). val prop = User::name. prop.name ifadesi "name" döner. prop.get(User("Ayşe")) ise "Ayşe" verir. Bu kalıp, çalışma zamanında özellik değerini okumak için kullanılır.
get ile değer okuma
KProperty.get(instance), bir özellik değerini okur. Sınıf özellikleri için instance verilmelidir; üst düzey özellikler için gerekmez.
Örnek: val u = User("Ayşe"); val v = User::name.get(u). Bu, "Ayşe" döndürür. get, çalışma zamanında dinamik erişim sağlar; derleme zamanı erişiminden daha yavaştır ama esnektir.
Uygulama User özelliğini oku
class User(val name: String) tanımla. main içinde val u = User("Ayşe") oluştur, val prop = User::name referansını al ve println(prop.get(u)) çağrısını yaz.
Başlangıç kodu
// User sınıfı: name özelliği
// main'de u oluştur, prop referansı al, değeri yazdırÖrnek çözüm
class User(val name: String)
fun main() {
val u = User("Ayşe")
val prop = User::name
println(prop.get(u))
}Beklenen çıktı
Ayşe
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 KProperty referansını tamamla
class User(val name: String)
val prop = User____
class User(val name: String)
val prop = User::name
Açıklama: ::name ile KProperty referansı alınır.
2 Bir sınıf özelliğinin değerini KProperty ile okumak için hangi metot kullanılır?
KProperty.get(instance) gives the value.- get(instance) Doğru cevap
- call()
- invoke()
- apply()
Açıklama: get(instance) özellik değerini verir.
3 KProperty parçalarını eşle
| Kavram | Anlamı |
|---|---|
User::name |
Özellik referansı |
prop.name |
Özellik adı |
prop.get(u) |
Değer okuma |
val u = User(...) |
Örnek |