Soru ekleme
- Dart kursu
- Orta seviye
- Ders 37/116
- 6 dk
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
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
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?
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ı
class Quiz {
List<Question> questions = [];
void addQuestion(Question q) {
____.add(q);
}
}
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 |