55 lines
1.4 KiB
Markdown
55 lines
1.4 KiB
Markdown
# EXO-JAVA-Collections
|
|
|
|
## Contexte
|
|
|
|
Vous devez développer une application de gestion de bibliothèque permettant de gérer un catalogue de livres et leurs emprunts.
|
|
|
|
## Objectifs
|
|
|
|
1. Créer une classe `Livre` représentant un livre avec ses caractéristiques
|
|
2. Implémenter une classe `Bibliotheque` utilisant les collections Java
|
|
3. Gérer les emprunts de livres à l'aide d'une Map
|
|
4. Tester toutes les fonctionnalités
|
|
|
|
## Spécifications techniques
|
|
|
|
### Classe Livre
|
|
|
|
- Attributs :
|
|
- ISBN (String) : identifiant unique du livre
|
|
- Titre (String)
|
|
- Auteur (String)
|
|
- Année de publication (int)
|
|
- Disponibilité (boolean)
|
|
- Méthodes :
|
|
- Constructeurs
|
|
- Getters/Setters
|
|
- equals() et hashCode() basés sur l'ISBN
|
|
- toString() pour l'affichage
|
|
|
|
### Classe Bibliotheque
|
|
|
|
- Utiliser une List pour stocker tous les livres
|
|
- Utiliser une Map pour gérer les emprunts (ISBN → Date d'emprunt)
|
|
- Méthodes à implémenter :
|
|
- ajouterLivre(Livre livre)
|
|
- supprimerLivre(String isbn)
|
|
- rechercherLivre(String isbn)
|
|
- emprunterLivre(String isbn)
|
|
- rendreLivre(String isbn)
|
|
- getLivresDisponibles()
|
|
- getLivresEmpruntes()
|
|
|
|
## Contraintes
|
|
|
|
- Utiliser les génériques Java
|
|
- Gérer les cas d'erreur (livre non trouvé, déjà emprunté, etc.)
|
|
- Documenter le code avec des commentaires JavaDoc
|
|
- Écrire des tests unitaires complets
|
|
|
|
## Livrables
|
|
|
|
1. Code source complet
|
|
2. Documentation JavaDoc
|
|
3. Exemple d'utilisation dans une classe Main ou App
|
|
- Respect des bonnes pratiques Java |