Özellikler
- Kotlin kursu
- Başlangıç
- Ders 108/116
- 5 dk
Sınıf içinde özellik (property) tanımlamayı öğrenirsin.
Özellikler: val ve var
Bir sınıfın özellikleri val veya var ile tanımlanır. val değişmez, var değişebilir.
class Box {
val kapasite: Int = 10
var item: String = "boş"
}
val b = Box()
b.item = "kalem" // tamam
// b.kapasite = 20 // derleme hatasıval özellik bir kez atanır; sonradan değiştirilemez. var özellik istediğin kadar değiştirilebilir. Kotlin, her özellik için otomatik olarak bir getter (ve var için setter) üretir.
Otomatik getter ve setter
Kotlin her özellik için arka planda bir getter üretir; var için bir de setter. Sen bunları açıkça yazmazsın, amaç kendiliğinden halledilir.
class Person(var name: String)
val p = Person("Ayşe")
println(p.name) // getter çağrılır
p.name = "Alex" // setter çağrılırp.name aslında getName()'i çağırır. Bu sade söz dizimi, arka planda tam bir getter/setter çifti yaratır. İleride bunları özelleştirmeyi de göreceksin.
Uygulama Box sınıfına item ekle
class Box(var item: String) tanımla. main içinde val b = Box("kalem") oluştur; b.item = "defter" ile özelliği değiştir; println ile b.item'i yazdır.
Başlangıç kodu
fun main() {
// Bir Box sınıfı tanımla: item değişebilir özelliğiyle
// Bir örnek oluştur, item'ı değiştir, sonucu yazdır
}Örnek çözüm
class Box(var item: String)
fun main() {
val b = Box("kalem")
b.item = "defter"
println(b.item)
}Beklenen çıktı
defter
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Anahtar ve anlam eşleştir
| Kavram | Anlamı |
|---|---|
val |
Değişmez |
var |
Değişebilir |
getter |
Okuma |
setter |
Yazma |
2 Boşluğu doldur: var ile tanımla
class Box {
____ item: String = ""
}
class Box {
var item: String = ""
}
Açıklama: var item değişebilir bir özelliktir.
3 val ve var arasındaki fark nedir?
- val değişmez, var değişebilir Doğru cevap
- val değişebilir, var değişmez
- ikisi de aynı
- val yok
Açıklama: val bir kez atanır, var sonradan değişebilir.
4 Boşluğu doldur: özelliğe değer ver
val b = Box()
b.____ = "kalem"
val b = Box()
b.item = "kalem"
Açıklama: b.item = "kalem" ile var özelliği değiştirilir.