CodeBlanks Logo Icon CodeBlanks

Görev tamamlama

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

main.dart
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

main.dart
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ı

Soru
void completeTask(int i) {
  tasks[i].____ = true;
}
Cevap
void completeTask(int i) {
  tasks[i].done = true;
}

Açıklama: done özelliği true yapılır.

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