CodeBlanks Logo Icon CodeBlanks

Quiz modeli

Question ve Quiz sınıflarının iskeletini tasarlarsın.

Proje: Quiz uygulaması

Bu projede bir quiz uygulaması kuracaksın. Her ders bir parça ekleyecek ve sonunda çalışan bir mini uygulama elde edeceksin. İlk adım, tek bir soruyu temsil eden Question sınıfını yazmak.

Bir Question'ın iki özelliği olur: String text (soru metni) ve String answer (doğru cevap). Constructor Question(this.text, this.answer) ile her iki özellik de atanır.

Sonraki derslerde bu Question'ları bir listede toplayıp quiz oynatacağız. Sağlam bir modelle başlamak önemli.

Question sınıfı iskeleti

Question sınıfı şöyle görünür: class Question { String text; String answer; Question(this.text, this.answer); }. text ve answer constructor parametreleri doğrudan özelliklere atanır.

Bu yazımda this.text, parametre text'i sınıfın text özelliğine atar. Aynı şey answer için de geçerli. Buna kurucu parametre kısaltması denir.

Question'ı kullanmak için var q = Question('Başkent nerede?', 'Ankara'); yazarsın. q.text ile soruyu, q.answer ile cevabı okursun.

Uygulama Question sınıfını tanımla

Bir Question sınıfı tanımla: String text ve String answer özellikleri ve Question(this.text, this.answer) constructor'ı olsun. main içinde Question('Başkent nerede?', 'Ankara') örneği oluştur; text ve answer'ı ayrı satırlarda yazdır.

Başlangıç kodu

main.dart
void main() {
  // Question sınıfını tanımla (main dışında)

  // örnek oluştur ve text ile answer yazdır
}

Örnek çözüm

main.dart
class Question {
  String text;
  String answer;
  Question(this.text, this.answer);
}

void main() {
  var q = Question('Başkent nerede?', 'Ankara');
  print(q.text);
  print(q.answer);
}

Beklenen çıktı

Başkent nerede?
Ankara

Soru ve cevaplar

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

1 Question parçalarını eşleştir

Kavram Anlamı
String text Soru metni
String answer Doğru cevap
Question(this.text, this.answer) Constructor
text, answer İki parametre

2 Question sınıfında kaç özellik var?

  • 1
  • 4
  • 3
  • 2 Doğru cevap

Açıklama: Question sınıfının text ve answer olmak üzere iki özelliği var.

3 Question constructor

Soru
class Question {
  String text;
  String answer;
  ____(this.text, this.answer);
}
Cevap
class Question {
  String text;
  String answer;
  Question(this.text, this.answer);
}

Açıklama: constructor sınıf adıyla aynıdır.

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