Görev tamamlama
- Dart kursu
- Başlangıç
- Ders 86/116
- 6 dk
completeTask ile görev durumunu güncellemeyi öğrenirsin.
completeTask metodu
Son adım completeTask: bir görevi tamamlandı olarak işaretler. void completeTask(int i) imzasıyla yazılır; i parametresi görevin indeksidir.
Gövdesi tek satırlık: tasks[i].done = true;. Bu, i'nci görevin done özelliğini true yapar. Böylece kullanıcı görevi tamamladığında durumu güncellenir.
Çağrı: list.completeTask(0) — ilk görevi tamamlandı yapar. Bu metot, projenin son temel işlemidir. Bundan sonra tüm parçaları birleştireceğiz.
Görev durumu kontrolü
Bir görevin durumunu okumak için tasks[i].done kullanılır. Bu true veya false döndürür. listTasks metodunu geliştirip durumu da gösterebilirsin.
Örnek: print('${tasks[i].title} - ${tasks[i].done}') biçiminde hem adı hem durumu yazdırırsın. Bu, CLI'ın daha bilgilendirici olmasını sağlar.
İleride menü döngüsünde completeTask çağrısı yapılacak; kullanıcı bir numara girecek ve o görev tamamlanacak. Bu, projenin son dersinde birleşecek.
Uygulama completeTask metodunu ekle
TodoList sınıfına void completeTask(int i) metodunu ekle; gövdesi tasks[i].done = true yapsın. main içinde list.addTask('Kitap oku'), list.completeTask(0) çağrılarını ekle ve print(list.tasks[0].done) ile durumu yazdır.
Başlangıç kodu
class Task {
String title;
bool done = false;
Task(this.title);
}
class TodoList {
List<Task> tasks = [];
void addTask(String title) {
tasks.add(Task(title));
}
void listTasks() {
for (var i = 0; i < tasks.length; i++) {
print('${i + 1}. ${tasks[i].title}');
}
}
// completeTask metodunu ekle
}
void main() {
var list = TodoList();
list.addTask('Kitap oku');
// completeTask ve durum yazdırma
}Örnek çözüm
class Task {
String title;
bool done = false;
Task(this.title);
}
class TodoList {
List<Task> tasks = [];
void addTask(String title) {
tasks.add(Task(title));
}
void listTasks() {
for (var i = 0; i < tasks.length; i++) {
print('${i + 1}. ${tasks[i].title}');
}
}
void completeTask(int i) {
tasks[i].done = true;
}
}
void main() {
var list = TodoList();
list.addTask('Kitap oku');
list.completeTask(0);
print(list.tasks[0].done);
}Beklenen çıktı
true
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 completeTask parçalarını eşleştir
| Kavram | Anlamı |
|---|---|
void |
Dönüş yok |
completeTask |
Metot adı |
int i |
İndeks parametresi |
tasks[i].done = true |
Atama |
2 completeTask(0) ne yapar?
- İlk görevi siler
- Listeyi temizler
- İlk görevi tamamlandı yapar Doğru cevap
- Hata fırlatır
Açıklama: completeTask(0) ilk görevin done'ını true yapar.
3 done ataması
void completeTask(int i) {
tasks[i].____ = true;
}
void completeTask(int i) {
tasks[i].done = true;
}
Açıklama: done özelliği true yapılır.