Sınıflar
- Kotlin kursu
- Başlangıç
- Ders 113/116
- 6 dk
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
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
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
val list = TaskList()
list.____("Kotlin çalış")
val list = TaskList()
list.addTask("Kotlin çalış")
Açıklama: addTask bir başlık alır ve listeye yeni görev ekler.