CodeBlanks Logo Icon CodeBlanks

Kütüphane sınıfı

Library sınıfıyla koleksiyon yönetimini kurarsın.

Library sınıfı ve addBook

Şimdi kitapları saklayacak Library sınıfını yazalım. Bu sınıf, List<Book> özelliği ve addBook metodundan oluşur. Her kitap eklendiğinde liste büyür.

Örnek: class Library { List<Book> books = []; void addBook(Book b) { books.add(b); } }. Burada books boş liste olarak başlatılır. addBook metodu bir Book alır ve listeye ekler.

Bu tasarımla kütüphaneye istediğin kadar kitap ekleyebilirsin. Sonraki derslerde ödünç verme ve arama metotlarını ekleyeceğiz.

List<Book> başlatma

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

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

Listenin uzunluğunu books.length ile okursun. Bu özellik kaç kitap olduğunu verir.

Uygulama Library sınıfını ve addBook'u ekle

Book sınıfı zaten tanımlı. Şimdi bir Library sınıfı tanımla: List<Book> books = [] özelliği ve void addBook(Book b) metodu olsun. Metot içine books.add(b) yaz. main içinde bir Library oluştur, iki kitap ekle ve lib.books.length'i yazdır.

Başlangıç kodu

main.dart
class Book {
  String title;
  bool borrowed = false;
  Book(this.title);
}

// Library sınıfını tanımla: kitap listesi ve ekleme metodu

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

Örnek çözüm

main.dart
class Book {
  String title;
  bool borrowed = false;
  Book(this.title);
}

class Library {
  List<Book> books = [];
  void addBook(Book b) {
    books.add(b);
  }
}

void main() {
  var lib = Library();
  lib.addBook(Book('Sefiller'));
  lib.addBook(Book('Suç ve Ceza'));
  print(lib.books.length);
}

Beklenen çıktı

2

Soru ve cevaplar

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

1 addBook metodu ne yapar?

main.dart
void addBook(Book b) {
  books.add(b);
}
  • Kitabı siler
  • Kitabı listeye ekler Doğru cevap
  • Kitabı yazdırır
  • Kitabı ödünç verir

Açıklama: addBook parametre olarak aldığı kitabı listeye ekler.

2 books.add çağrısı

Soru
class Library {
  List<Book> books = [];
  void addBook(Book b) {
    ____.add(b);
  }
}
Cevap
class Library {
  List<Book> books = [];
  void addBook(Book b) {
    books.add(b);
  }
}

Açıklama: books.add(b) ile kitap eklenir.

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

Kavram Anlamı
List<Book> Kitap listesi tipi
books = [] Boş başlangıç
addBook(Book b) Ekleme metodu
books.add(b) Listeye ekleme

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