TP7 : Exercice : Système de gestion de bibliothèque numérique
Vous devez concevoir un système de gestion pour une bibliothèque numérique qui gère
différents types de ressources comme des livres, des magazines et des vidéos.
Consignes
1. Créer une classe abstraite Media :
Attributs :
- String title : titre du média.
- String author : auteur ou créateur du média.
- boolean isBorrowed : indique si le média est emprunté.
Méthodes :
- Constructeur pour initialiser title et author.
- Méthode abstraite displayInfo() : pour afficher les informations spécifiques du
média.
- Méthode concrète borrow() : pour emprunter le média.
- Méthode concrète returnMedia() : pour retourner le média.
2. Créer trois classes concrètes qui héritent de Media :
Book :
Attributs spécifiques :
- int totalPages : nombre de pages.
Méthodes :
- Constructeur pour initialiser les attributs.
- Redéfinition de la méthode displayInfo() pour afficher les informations du
livre.
Magazine :
Attributs spécifiques :
- int issueNumber : numéro de l’édition.
Méthodes :
- Constructeur pour initialiser les attributs.
- Redéfinition de la méthode displayInfo() pour afficher les informations du
magazine.
Video :
Attributs spécifiques :
- double duration : durée de la vidéo (en heures).
Méthodes :
- Constructeur pour initialiser les attributs.
- Redéfinition de la méthode displayInfo() pour afficher les informations de la
vidéo.
3. Créer une classe Library pour gérer les médias :
Attributs :
ArrayList<Media> libraryCollection : liste des médias dans la bibliothèque.
Méthodes :
addMedia(Media media) : pour ajouter un média à la bibliothèque.
listMedia() : pour afficher les informations de tous les médias disponibles.
borrowMedia(String title) : pour emprunter un média selon son titre.
returnMedia(String title) : pour retourner un média selon son titre.
4. Créer un programme principal (Main) :
Ajouter plusieurs objets Book, Magazine, et Video à la bibliothèque.
Afficher la liste des médias disponibles.
Emprunter et retourner des médias selon leur titre.