CodeBlanks Logo Icon CodeBlanks

Özellikler

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ır

p.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

Main.kt
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

Main.kt
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

Soru
class Box {
    ____ item: String = ""
}
Cevap
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

Soru
val b = Box()
b.____ = "kalem"
Cevap
val b = Box()
b.item = "kalem"

Açıklama: b.item = "kalem" ile var özelliği değiştirilir.

Başlangıç bölümündeki tüm dersler