Exercice : Gestion d'une bibliothèque
Objectif : Créer un système simple pour gérer une bibliothèque.
Étape 1 : Création des classes
Classe Auteur :
Attributs nom, prénom, date de naissance.
Les accesseurs et les méthodes que vous jugez pertinentes.
Classe Livre :
Attributs : titre, une ArrayList de Auteur et ISBN.
Méthodes : Les accesseurs et les méthodes que vous jugez pertinentes.
Classe Bibliothèque :
Attributs : Une ArrayList pour stocker les livres.
Méthodes :
ajouterLivre(Livre livre) : pour ajouter un livre à la bibliothèque.
supprimerLivre(String isbn) : pour supprimer un livre de la bibliothèque en utilisant son ISBN.
supprimerLivre(Livre livre) : pour supprimer un livre de la bibliothèque.
afficherLivres() : pour afficher tous les livres de la bibliothèque.
trouverLivre(Livre livre) : recherche un livre précis.
trouverLivre(String ISBN) : recherche un livre en fonction de son ISBN.
trouverLivre(Auteur auteur) : recherche un livre selon l'auteur.
trouverLivre(String titre) : recherche un livre selon le titre.
Étape 2 : Implémentation
Implémentez les classes Auteur, Livre et Bibliothèque.
Dans la méthode main, créez quelques livres et ajoutez-les à la bibliothèque.
Affichez tous les livres, supprimez-en un, puis affichez à nouveau tous les livres pour vérifier que la suppression a bien été effectuée.
Utiliser chaque méthode de recherche afin de valider leur fonctionnement.
Étape 3 : Extension
Ajoutez une classe Emprunteurs avec des attributs comme nom, prenom id et une ArrayList pour stocker les livres empruntés.
Dans la classe Bibliothèque, ajoutez une méthode pour permettre à un utilisateur de la bibliothèque d'emprunter un livre et une autre pour le retourner.
Système simple de gestion d'une bibliothèque Système simple de gestion d'une bibliothèque Auteur -nom : String -prenom : String -dateNaissance : LocalDate -- +Auteur(nom:String, prenom:String, dateNaissance:LocalDate) +getNom() : String +setNom(nom:String) : void +getPrenom() : String +setPrenom(prenom:String) : void +getDateNaissance() : LocalDate +setDateNaissance(date:LocalDate) : void +toString() : String Livre -titre : String -auteurs : List<Auteur> -isbn : String -- +Livre(titre:String, auteurs:List<Auteur>, isbn:String) +getTitre() : String +setTitre(titre:String) : void +getAuteurs() : List<Auteur> +ajouterAuteur(auteur:Auteur) : void +retirerAuteur(auteur:Auteur) : boolean +getIsbn() : String +setIsbn(isbn:String) : void +toString() : String Emprunteur -id : String -nom : String -prenom : String -emprunts : List<Livre> -- +Emprunteur(id:String, nom:String, prenom:String) +getId() : String +getNom() : String +getPrenom() : String +getEmprunts() : List<Livre> +ajouterEmprunt(livre:Livre) : void +retirerEmprunt(livre:Livre) : boolean +toString() : String Bibliotheque -livres : List<Livre> -emprunteurs : List<Emprunteur> -- +Bibliotheque() +ajouterLivre(livre:Livre) : void +supprimerLivre(isbn:String) : boolean +supprimerLivre(livre:Livre) : boolean +afficherLivres() : void +trouverLivre(livre:Livre) : Livre +trouverLivre(isbn:String) : Livre +trouverLivre(auteur:Auteur) : List<Livre> +trouverLivre(titre:String) : List<Livre> +emprunterLivre(emprunteur:Emprunteur, livre:Livre) : boolean +retournerLivre(emprunteur:Emprunteur, livre:Livre) : boolean contient 1 0..* gère 1 0..* auteurs 1 1..* emprunte 0..* 0..* Système simple de gestion d'une bibliothèque Système simple de gestion d'une bibliothèque Auteur -nom : String -prenom : String -dateNaissance : LocalDate -- +Auteur(nom:String, prenom:String, dateNaissance:LocalDate) +getNom() : String +setNom(nom:String) : void +getPrenom() : String +setPrenom(prenom:String) : void +getDateNaissance() : LocalDate +setDateNaissance(date:LocalDate) : void +toString() : String Livre -titre : String -auteurs : List<Auteur> -isbn : String -- +Livre(titre:String, auteurs:List<Auteur>, isbn:String) +getTitre() : String +setTitre(titre:String) : void +getAuteurs() : List<Auteur> +ajouterAuteur(auteur:Auteur) : void +retirerAuteur(auteur:Auteur) : boolean +getIsbn() : String +setIsbn(isbn:String) : void +toString() : String Emprunteur -id : String -nom : String -prenom : String -emprunts : List<Livre> -- +Emprunteur(id:String, nom:String, prenom:String) +getId() : String +getNom() : String +getPrenom() : String +getEmprunts() : List<Livre> +ajouterEmprunt(livre:Livre) : void +retirerEmprunt(livre:Livre) : boolean +toString() : String Bibliotheque -livres : List<Livre> -emprunteurs : List<Emprunteur> -- +Bibliotheque() +ajouterLivre(livre:Livre) : void +supprimerLivre(isbn:String) : boolean +supprimerLivre(livre:Livre) : boolean +afficherLivres() : void +trouverLivre(livre:Livre) : Livre +trouverLivre(isbn:String) : Livre +trouverLivre(auteur:Auteur) : List<Livre> +trouverLivre(titre:String) : List<Livre> +emprunterLivre(emprunteur:Emprunteur, livre:Livre) : boolean +retournerLivre(emprunteur:Emprunteur, livre:Livre) : boolean contient 1 0..* gère 1 0..* auteurs 1 1..* emprunte 0..* 0..*