CodeBlanks Logo Icon CodeBlanks

Soru ekleme

addQuestion metoduyla quiz'e soru eklemeyi öğrenirsin.

Quiz sınıfı ve addQuestion

Şimdi soruları saklayacak Quiz sınıfını yazalım. Bu sınıf, List<Question> özelliği ve addQuestion metodundan oluşur. Her soru eklendiğinde liste büyür.

Örnek: class Quiz { List<Question> questions = []; void addQuestion(Question q) { questions.add(q); } }. Burada questions boş liste olarak başlatılır. addQuestion metodu parametre olarak bir Question alır ve listeye ekler.

Bu tasarımla quiz'e istediğin kadar soru ekleyebilirsin. Sonraki derslerde listeyi dolaşıp soruları göstereceğiz.

List<Question> başlatma

List<Question> questions = []; satırı boş bir Question listesi oluşturur. Dart'ta [] boş liste demektir. Tip Question olduğu için yalnızca Question nesneleri eklenebilir.

Bu sayede tip güvenliği sağlanır: questions.add('metin') derleme hatası verir çünkü 'metin' bir Question değildir. Yalnızca questions.add(Question(...)) geçerlidir.

Listenin uzunluğunu questions.length ile okursun. Bu özellik kaç eleman olduğunu verir.

Uygulama Quiz sınıfını ve addQuestion'ı ekle

Question sınıfı zaten tanımlı. Şimdi bir Quiz sınıfı tanımla: List<Question> questions = [] özelliği ve void addQuestion(Question q) metodu olsun. Metot içine questions.add(q) yaz. main içinde bir Quiz oluştur, iki soru ekle ve quiz.questions.length'i yazdır.

Başlangıç kodu

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

// Quiz sınıfını tanımla: soru listesi ve ekleme metodu

void main() {
  // Quiz örneği oluştur, iki soru ekle ve sayıyı yazdır
}

Örnek çözüm

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

class Quiz {
  List<Question> questions = [];
  void addQuestion(Question q) {
    questions.add(q);
  }
}

void main() {
  var quiz = Quiz();
  quiz.addQuestion(Question('Başkent nerede?', 'Ankara'));
  quiz.addQuestion(Question('Kaç gün bir hafta?', '7'));
  print(quiz.questions.length);
}

Beklenen çıktı

2

Soru ve cevaplar

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

1 addQuestion metodu ne yapar?

main.dart
void addQuestion(Question q) {
  questions.add(q);
}
  • Soruyu listeye ekler Doğru cevap
  • Soruyu yazdırır
  • Listeden soru siler
  • Soruyu değiştirir

Açıklama: addQuestion parametre olarak aldığı soruyu listeye ekler.

2 questions.add çağrısı

Soru
class Quiz {
  List<Question> questions = [];
  void addQuestion(Question q) {
    ____.add(q);
  }
}
Cevap
class Quiz {
  List<Question> questions = [];
  void addQuestion(Question q) {
    questions.add(q);
  }
}

Açıklama: questions.add(q) ile eleman eklenir.

3 Quiz parçalarını eşleştir

Kavram Anlamı
List<Question> Soru listesi tipi
questions = [] Boş başlangıç
addQuestion(Question q) Ekleme metodu
questions.add(q) Listeye ekleme

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