Dart
Birleştirme
Tüm parçaları birleştirerek çalışan bir final uygulaması yazarsın.
Birleştirme
Son derste tüm parçaları birleştiriyoruz: Library sınıfı, Book sınıfı, kitap listesi ve try/catch ile hata yönetimi. Çalışan bir kütüphane konsol uygulaması elde edeceğiz; tüm kitapları yazdıracak ve hata durumunda nazik mesaj verecek.
Bu, başlangıç seviyesinin tüm temel kavramlarını gerçek bir görevde birleştirir: sınıf tanımı, kurucu, alan erişimi, List ve for döngüsü, try/catch ile dayanıklılık. Bu deseni ilerideki projelerde tekrar tekrar göreceksin; bu yüzden şimdi sağlam öğrenmek önemli.
Çalışan uygulama
Aşağıdaki kodda sınıflar, liste ve try/catch zaten tanımlı. Eksik olan tek parça, tüm kitapları yazdıran for döngüsü. Bu döngüyü try bloğundan önce ekleyeceksin; böylece önce tüm kitaplar listelenir, sonra liste dışı erişim denenir.
for (final book in books) { print("Kitap: ${book.title}"); } yazdığında her kitabın başlığı ekrana gelir. try/catch zaten yerinde; böylece uygulama hem listeleme hem de hata yakalama yapar. Bu, başlangıç seviyesinin küçük ama tamam bir örneğidir.
Uygulama Çalışan kütüphane
Aşağıdaki kodda sınıflar, liste ve try/catch zaten tanımlı. main içinde try bloğundan önce bir for döngüsü ekle: for (final book in books) { print("Kitap: ${book.title}"); }. Böylece önce tüm kitaplar yazdırılır, sonra liste dışı erişim denenir.
Örnek çözümü göster
class Library {
String name;
Library(this.name);
void info() {
print("Kütüphane: $name");
}
}
class Book {
String title;
Book(this.title);
}
void main() {
final lib = Library("Şehir");
lib.info();
final b = Book("Suç ve Ceza");
print("Yeni kitap: ${b.title}");
final books = <Book>[Book("Suç ve Ceza"), Book("Sefiller")];
print("Sayı: ${books.length}");
print("İlk: ${books[0].title}");
for (final book in books) {
print("Kitap: ${book.title}");
}
try {
print(books[5].title);
} catch (e) {
print("kitap bulunamadı");
}
}
Kendini test et
-
for döngüsü bağlacı
for (final book ____ books) {
print("Kitap: ${book.title}");
}
Cevabı göster
for (final book in books) {
print("Kitap: ${book.title}");
}
-
Bu projede for döngüsü ne yapar?
for (final book in books) {
print("Kitap: ${book.title}");
}
- Tüm kitapların başlığını yazdırır
- Listeye kitap ekler
- Hatayı yakalar
- Kütüphane adını değiştirir
Cevabı göster
Tüm kitapların başlığını yazdırır — for döngüsü tüm kitapların başlığını yazdırır.
-
Final parçalarını eşleştir
- class
- nesne tanımlar
- List<Book>
- kitapları toplar
- for
- listeyi gezer
- try/catch
- dayanıklılık katar
Sıradaki ders: Başlangıç bölüm sınavı