Menu
Coddy logo textTech

Arama İşlevselliği

Coddy'nin Dart Journey'sinin Nesne Yönelimli Programlama bölümünün bir parçası — ders 104 / 110.

challenge icon

Görev

Kolay

Önceki derste, ödünç alma ve iade etme işlevlerine sahip bir Library sınıfı oluşturdunuz. Şimdi, kullanıcıların kütüphane koleksiyonundaki kitapları bulabilmeleri için arama özellikleri ekleyelim.

Library sınıfınızı, kullanıcıların kitapları keşfetmesine yardımcı olacak üç yeni arama yöntemiyle geliştireceksiniz:

  • book.dart: Mevcut Book sınıfınızı değiştirmeden koruyun.
  • user.dart: Mevcut User sınıfınızı değiştirmeden koruyun.
  • library.dart: Library sınıfınıza üç arama yöntemi ekleyin:
    • searchByTitle(String query) - başlığı sorgu dizesini içeren tüm kitapları içeren bir List<Book> döndürür (büyük/küçük harfe duyarsız)
    • searchByAuthor(String query) - yazar adı sorgu dizesini içeren tüm kitapları içeren bir List<Book> döndürür (büyük/küçük harfe duyarsız)
    • getAvailableBooks() - yalnızca şu anda ödünç alınabilir durumda olan kitapları içeren bir List<Book> döndürür
  • main.dart: Arama işlevini gösterin. Bir Library oluşturun ve dört kitap ekleyin:
    • 978-0-13-468599-1, The Pragmatic Programmer, David Thomas
    • 978-0-596-51774-8, JavaScript: The Good Parts, Douglas Crockford
    • 978-0-13-235088-4, Clean Code, Robert Martin
    • 978-0-20-161622-4, The Pragmatic Programmer, Andrew Hunt
    Bir kullanıcı kaydedin (U001, Alice) ve ilk kitabı ödünç almasını sağlayın. Ardından:
    1. Başlığında pragmatic geçen kitapları arayın ve Title search 'pragmatic': X found yazdırın (burada X bulunan sayıdır)
    2. Yazarı david olan kitapları arayın ve Author search 'david': X found yazdırın
    3. Mevcut kitapları alın ve Available books: X yazdırın
    4. Her bir mevcut kitabı kendi satırında yazdırın

Beklenen çıktı:

U001 borrowed "The Pragmatic Programmer"
Title search 'pragmatic': 2 found
Author search 'david': 1 found
Available books: 3
[978-0-596-51774-8] JavaScript: The Good Parts by Douglas Crockford
[978-0-13-235088-4] Clean Code by Robert Martin
[978-0-20-161622-4] The Pragmatic Programmer by Andrew Hunt

Kendin dene

import 'book.dart';
import 'user.dart';
import 'library.dart';

void main() {
  // Bir Kütüphane oluşturun
  Library library = Library();
  
  // TODO: Kütüphaneye dört kitap ekleyin:
  // 1. 978-0-13-468599-1, The Pragmatic Programmer, David Thomas
  // 2. 978-0-596-51774-8, JavaScript: The Good Parts, Douglas Crockford
  // 3. 978-0-13-235088-4, Clean Code, Robert Martin
  // 4. 978-0-20-161622-4, The Pragmatic Programmer, Andrew Hunt
  
  // TODO: Bir kullanıcı kaydedin (U001, Alice)
  
  // TODO: Kullanıcının ilk kitabı ödünç almasını sağlayın
  
  // TODO: Başlığında 'pragmatic' geçen kitapları arayın
  // Yazdır: Title search 'pragmatic': X found
  
  // TODO: Yazarı 'david' olan kitapları arayın
  // Yazdır: Author search 'david': X found
  
  // TODO: Mevcut kitapları alın ve yazdırın: Available books: X
  
  // TODO: Mevcut her kitabı kendi satırında yazdırın
}

Nesne Yönelimli Programlama bölümündeki tüm dersler