Compléter la classe Book
Dans cet exercice, vous allez créer un élément de base pour un système de gestion de bibliothèque. Cette tâche vous aidera à pratiquer les concepts de programmation orientée objet en Java, notamment la conception de classes, l'implémentation de méthodes et la gestion d'état. En complétant ce défi, vous acquerrez une expérience précieuse dans la création d'applications pratiques du monde réel. Plongeons dans le monde des livres virtuels!
Tâches
- Ouvrez le fichier pré-créé
Book.java
dans le répertoire ~/project
.
- Recherchez les commentaires TODO dans le code.
- Ajoutez le code manquant pour compléter la classe
Book
conformément aux exigences.
Exigences
- Le fichier
Book.java
devrait déjà exister dans le répertoire ~/project
.
- Complétez le constructeur pour initialiser tous les champs (titre, auteur, année de publication et disponibilité).
- Implémentez la méthode
borrowBook()
:
- Si le livre est disponible, définissez
isAvailable
sur false
et retournez true
.
- Si le livre n'est pas disponible, retournez
false
.
- Implémentez la méthode
returnBook()
:
- Définissez
isAvailable
sur true
.
- Implémentez la méthode
getFormattedBookDetails()
:
- Retournez une chaîne de caractères contenant le titre, l'auteur et l'année de publication du livre.
- Le format devrait être : "Titre par Auteur (Année)"
Exemple
Lorsque vous avez correctement terminé, le code suivant dans la méthode main
:
Book book = new Book("Java Programming", "John Doe", 2023);
System.out.println(book.getFormattedBookDetails());
System.out.println("Is book available? " + book.isAvailable());
boolean borrowed = book.borrowBook();
System.out.println("Book borrowed successfully? " + borrowed);
System.out.println("Is book available now? " + book.isAvailable());
book.returnBook();
System.out.println("Is book available after return? " + book.isAvailable());
Devrait produire une sortie similaire à ceci :
cd ~/project
javac Book.java
java Book
Sortie d'exemple :
Java Programming by John Doe (2023)
Is book available? true
Book borrowed successfully? true
Is book available now? false
Is book available after return? true