CodeBlanks Logo Icon CodeBlanks

Proje tasarımı

Orta seviye finali mini uygulamasının iskeletini tasarlarsın.

Proje tasarımı

Bu projede bir görev yöneticisi (Task Manager) konsol uygulaması kuracağız. Her ders bir parça ekler ve bir önceki çözümün üzerine iner.

Adım adım: Task sınıfı → Trackable arayüzü → koleksiyonlar → dosya girdi/çıktısı → Stream ile birleştirme.

Önce en temel yapı: değişmez bir başlığı ve bir durum alanı olan Task sınıfı. Her şey bunun üzerine kurulur.

Task sınıfı iskeleti

Temel sınıf: class Task { final String title; bool done; Task(this.title, {this.done = false}); }.

title değişmez (final), done varsayılan false. Yapıcı, this.title kısayoluyla alanı kurar.

Bu iskelet, sonraki derslerde arayüz, koleksiyon ve dosya işlemleri için temel olacak.

Uygulama Task sınıfı ve örnek

Task sınıfı tanımla: final String title ve bool done alanları, Task(this.title, {this.done = false}) yapıcısı. main içinde var t = Task('Kod yaz'); oluştur ve print(t.title) yazdır.

Başlangıç kodu

main.dart
// Task sınıfını tanımla

void main() {
  // Task örneği oluştur ve title yazdır
}

Örnek çözüm

main.dart
class Task {
  final String title;
  bool done;
  Task(this.title, {this.done = false});
}

void main() {
  var t = Task('Kod yaz');
  print(t.title);
}

Beklenen çıktı

Kod yaz

Soru ve cevaplar

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

1 Proje hangi sırayla ilerleyecek?

  • Stream → dosya → sınıf
  • Dosya → sınıf → Stream
  • Sınıf → arayüz → koleksiyon → dosya → Stream Doğru cevap
  • Koleksiyon → sınıf → arayüz

Açıklama: önce sınıf, sonra arayüz, koleksiyon, dosya ve son olarak Stream.

2 Task yapıcısı

Soru
class Task { final String title; bool done; Task(____, {this.done = false}); }
Cevap
class Task { final String title; bool done; Task(this.title, {this.done = false}); }

Açıklama: this.title kısayolu alanı kurar.

3 Task sınıfı parçaları

Kavram Anlamı
final String title Değişmez başlık
bool done Durum
this.title Yapıcı kısayolu
{this.done = false} Varsayılan değer

Orta seviye bölümündeki tüm dersler