CodeBlanks Logo Icon CodeBlanks

Sınıflar

class ve constructor ile veri modelini kurarsın.

TaskList sınıfı ve mutableListOf

Birden fazla görevi yönetmek için bir TaskList sınıfı yazarsın. İçinde mutableListOf<Task>() bulunur ve addTask yöntemi yeni görev ekler.

class TaskList {
    val tasks = mutableListOf<Task>()
    fun addTask(title: String) {
        tasks.add(Task(title))
    }
}

addTask bir başlık alır, yeni bir Task yaratır ve listeye ekler. mutableListOf değiştirilebilir bir liste verir; add ile yeni eleman eklersin. Böylece görev ekleme tek satırda halledilir.

Listeyi yazdır

println(list.tasks) listenin tümünü yazdırır. Listenin toString'i her öğeyi virgülle ayırır ve köşeli parantez içine alır. Her Task'un kendi toString'i çağrılır.

list.addTask("Kotlin çalış")
list.addTask("Alışveriş")
println(list.tasks)
// [[ ] Kotlin çalış, [ ] Alışveriş]

Bu sayede ayrı bir döngü yazmadan listenin içeriğini görebilirsin. Task sınıfındaki toString tasarımının burada değer kazandığını fark et. İyi bir toString hata ayıklamayı kolaylaştırır.

Uygulama İki görev ekle ve yazdır

TaskList sınıfına fun addTask(title: String) yöntemi ekle: yeni Task yaratıp tasks listesine ekle. main'de list.addTask("Kotlin çalış") ve list.addTask("Alışveriş") çağır, sonra println ile list.tasks'ı yazdır.

Başlangıç kodu

Main.kt
class Task(val title: String) {
    var done: Boolean = false
    override fun toString(): String {
        return if (done) "[x] $title" else "[ ] $title"
    }
}

fun main() {
    val list = TaskList()
    // İki görev ekle ve listeyi yazdır
}

class TaskList {
    val tasks = mutableListOf<Task>()
    // addTask metodunu yaz: yeni Task yarat ve tasks'a ekle
}

Örnek çözüm

Main.kt
class Task(val title: String) {
    var done: Boolean = false
    override fun toString(): String {
        return if (done) "[x] $title" else "[ ] $title"
    }
}

class TaskList {
    val tasks = mutableListOf<Task>()
    fun addTask(title: String) {
        tasks.add(Task(title))
    }
}

fun main() {
    val list = TaskList()
    list.addTask("Kotlin çalış")
    list.addTask("Alışveriş")
    println(list.tasks)
}

Beklenen çıktı

[[ ] Kotlin çalış, [ ] Alışveriş]

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Kavramı amacıyla eşleştir

Kavram Anlamı
mutableListOf<Task> Görev listesi
addTask(String) Görev ekle
new Task Nesne yarat
tasks.add Listeye koy

2 addTask("Kotlin çalış") ne yapar?

  • Listeden görev siler
  • Listeyi yazdırır
  • Görevi tamamlar
  • Yeni Task yaratıp listeye ekler Doğru cevap

Açıklama: addTask yeni bir Task nesnesi yaratır ve listeye ekler.

3 Boşluğu doldur: addTask çağır

Soru
val list = TaskList()
list.____("Kotlin çalış")
Cevap
val list = TaskList()
list.addTask("Kotlin çalış")

Açıklama: addTask bir başlık alır ve listeye yeni görev ekler.

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