Dart
Birleştirme
Kütüphane sınıfını menü döngüsüyle birleştirirsin.
Birleştirme
Artık tüm parçaları birleştirme zamanı. Book sınıfı, Library sınıfı, addBook, checkout, returnBook ve search metotları hazır. Geriye yalnızca main içinde kütüphaneyi oluşturmak, kitap eklemek, ödünç vermek ve aramak kalıyor.
Çalışan oturum şöyle olur: kütüphane oluştur, üç kitap ekle, birini ödünç ver, arama yap. Çıktı hem ödünç durumunu hem arama sonuçunu içerir.
Bu, nesne yönelimli bir uygulamanın nasıl parça parça kurulduğunu gösterir. Her ders bir tuğla ekledi; şimdi bina tamam.
Çalışan oturum
Tüm sınıflar tanımlı. main içinde kütüphane oluştur, üç kitap ekle, birini ödünç ver ve arama yap. Çıktı önce ödünç durumunu, sonra arama sonuçunu gösterir.
Üç kitap ve 've' sorgusuyla: checkout(0) ilk kitabı ödünç verir, print(lib.books[0].borrowed) true verir. search('ve') iki kitap bulur (Suç ve Ceza, Savaş ve Barış), results.length 2 verir.
Proje tamam! OOP, listeler, koleksiyon metotları ve koşulları bir arada kullandın. Bu yapıyı genişleterek daha büyük kütüphane sistemleri kurabilirsin.
Uygulama Çalışan kütüphane
Tüm sınıflar tanımlı (Book, Library, addBook, checkout, returnBook, search). main içinde bir Library oluştur, üç kitap ekle ('Sefiller', 'Suç ve Ceza', 'Savaş ve Barış'), lib.checkout(0) çağır, lib.books[0].borrowed'ı yazdır, lib.search('ve') yapıp sonuçun length'ini yazdır.
Örnek çözümü göster
class Book {
String title;
bool borrowed = false;
Book(this.title);
}
class Library {
List<Book> books = [];
void addBook(Book b) {
books.add(b);
}
void checkout(int index) {
books[index].borrowed = true;
}
void returnBook(int index) {
books[index].borrowed = false;
}
List<Book> search(String query) {
return books.where((b) => b.title.contains(query)).toList();
}
}
void main() {
var lib = Library();
lib.addBook(Book('Sefiller'));
lib.addBook(Book('Suç ve Ceza'));
lib.addBook(Book('Savaş ve Barış'));
lib.checkout(0);
print(lib.books[0].borrowed);
var results = lib.search('ve');
print(results.length);
}
Kendini test et
-
Hangi sıra mantıklı?
- addBook, checkout, search
- checkout, addBook, search
- search, addBook, checkout
- addBook, search, checkout
Cevabı göster
addBook, checkout, search — önce kitap eklenir, sonra ödünç verilir, en son arama yapılır.
-
Metotları amacına eşleştir
- addBook
- Kitap ekleme
- checkout
- Ödünç verme
- returnBook
- İade alma
- search
- Başlığa göre arama
-
Üçüncü kitabı ekle
void main() {
var lib = Library();
lib.addBook(Book('Sefiller'));
lib.addBook(Book('Suç ve Ceza'));
____.addBook(Book('Savaş ve Barış'));
lib.checkout(0);
print(lib.books[0].borrowed);
var results = lib.search('ve');
print(results.length);
}
Cevabı göster
void main() {
var lib = Library();
lib.addBook(Book('Sefiller'));
lib.addBook(Book('Suç ve Ceza'));
lib.addBook(Book('Savaş ve Barış'));
lib.checkout(0);
print(lib.books[0].borrowed);
var results = lib.search('ve');
print(results.length);
}
Sıradaki ders: Future