Menu
Coddy logo textTech

Fonctionnalité de recherche

Fait partie de la section Programmation Orientée Objet du Journey Dart de Coddy — leçon 104 sur 110.

challenge icon

Défi

Facile

Dans la leçon précédente, vous avez construit une classe Library avec des fonctionnalités d'emprunt et de retour. Maintenant, ajoutons des capacités de recherche pour que les utilisateurs puissent trouver des livres dans la collection de la bibliothèque.

Vous allez améliorer votre classe Library avec trois nouvelles méthodes de recherche qui aident les utilisateurs à découvrir des livres :

  • book.dart : Gardez votre classe Book existante inchangée.
  • user.dart : Gardez votre classe User existante inchangée.
  • library.dart : Ajoutez trois méthodes de recherche à votre classe Library :
    • searchByTitle(String query) - retourne une List<Book> contenant tous les livres dont le titre contient la chaîne de requête (insensible à la casse)
    • searchByAuthor(String query) - retourne une List<Book> contenant tous les livres dont le nom de l'auteur contient la chaîne de requête (insensible à la casse)
    • getAvailableBooks() - retourne une List<Book> contenant uniquement les livres qui sont actuellement disponibles pour l'emprunt
  • main.dart : Démontrez la fonctionnalité de recherche. Créez une Library et ajoutez quatre livres :
    • 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
    Enregistrez un utilisateur (U001, Alice) et faites-lui emprunter le premier livre. Ensuite :
    1. Recherchez les livres avec pragmatic dans le titre et affichez Title search 'pragmatic': X found où X est le nombre de résultats
    2. Recherchez les livres par auteur david et affichez Author search 'david': X found
    3. Récupérez les livres disponibles et affichez Available books: X
    4. Affichez chaque livre disponible sur sa propre ligne

Sortie attendue :

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

Essayez vous-même

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

void main() {
  // Créer une Library
  Library library = Library();
  
  // TODO: Ajouter quatre livres à la bibliothèque :
  // 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: Enregistrer un utilisateur (U001, Alice)
  
  // TODO: Faire en sorte que l'utilisateur emprunte le premier livre
  
  // TODO: Rechercher des livres avec 'pragmatic' dans le titre
  // Afficher : Title search 'pragmatic': X found
  
  // TODO: Rechercher des livres par auteur 'david'
  // Afficher : Author search 'david': X found
  
  // TODO: Obtenir les livres disponibles et afficher : Available books: X
  
  // TODO: Afficher chaque livre disponible sur sa propre ligne
}

Toutes les leçons de Programmation Orientée Objet