Menu
Coddy logo textTech

Funkcja wyszukiwania

Część sekcji Programowanie obiektowe ścieżki Dart w Coddy. Lekcja 104 z 110.

challenge icon

Wyzwanie

Łatwy

W poprzedniej lekcji utworzyłeś klasę Library z funkcjonalnością wypożyczania i zwracania książek. Teraz dodajmy możliwość wyszukiwania, aby użytkownicy mogli znajdować książki w zbiorach biblioteki.

Rozbudujesz klasę Library o trzy nowe metody wyszukiwania, które pomogą użytkownikom odkrywać książki:

  • book.dart: Pozostaw istniejącą klasę Book bez zmian.
  • user.dart: Pozostaw istniejącą klasę User bez zmian.
  • library.dart: Dodaj trzy metody wyszukiwania do klasy Library:
    • searchByTitle(String query) - zwraca List<Book> zawierającą wszystkie książki, których tytuł zawiera ciąg zapytania (bez rozróżniania wielkości liter)
    • searchByAuthor(String query) - zwraca List<Book> zawierającą wszystkie książki, których nazwisko autora zawiera ciąg zapytania (bez rozróżniania wielkości liter)
    • getAvailableBooks() - zwraca List<Book> zawierającą tylko książki, które są obecnie dostępne do wypożyczenia
  • main.dart: Zademonstruj działanie wyszukiwania. Utwórz klasę Library i dodaj cztery książki:
    • 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
    Zarejestruj użytkownika (U001, Alice) i wypożycz mu pierwszą książkę. Następnie:
    1. Wyszukaj książki, których tytuł zawiera pragmatic, i wypisz Title search 'pragmatic': X found, gdzie X to liczba wyników
    2. Wyszukaj książki autorstwa david i wypisz Author search 'david': X found
    3. Pobierz dostępne książki i wypisz Available books: X
    4. Wypisz każdą dostępną książkę w osobnym wierszu

Oczekiwany wynik:

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

Spróbuj swoich sił

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

void main() {
  // Utwórz obiekt Library
  Library library = Library();
  
  // TODO: Dodaj cztery książki do biblioteki:
  // 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: Zarejestruj użytkownika (U001, Alice)
  
  // TODO: Niech użytkownik wypożyczy pierwszą książkę
  
  // TODO: Wyszukaj książki z 'pragmatic' w tytule
  // Wypisz: Title search 'pragmatic': znaleziono X
  
  // TODO: Wyszukaj książki autora 'david'
  // Wypisz: Author search 'david': znaleziono X
  
  // TODO: Pobierz dostępne książki i wypisz: Available books: X
  
  // TODO: Wypisz każdą dostępną książkę w osobnym wierszu
}

Wszystkie lekcje w sekcji Programowanie obiektowe

Poćwicz samodzielnie: Kompilator Dart online