Quiz modeli
- Dart kursu
- Orta seviye
- Ders 36/116
- 6 dk
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
void main() {
// Question sınıfını tanımla (main dışında)
// örnek oluştur ve text ile answer yazdır
}Örnek çözüm
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
class Question {
String text;
String answer;
____(this.text, this.answer);
}
class Question {
String text;
String answer;
Question(this.text, this.answer);
}
Açıklama: constructor sınıf adıyla aynıdır.