Introduction
Bienvenue à la bibliothèque JavaTown, la bibliothèque numérique la plus avancée du monde de la programmation ! En tant que nouveau développeur logiciel, votre première mission consiste à participer à la création d'un système de catalogue numérique pour l'immense collection de livres techniques de la bibliothèque.
Votre mission, si vous l'acceptez, est de compléter la classe Book qui servira à représenter chaque ouvrage dans le système. Cette classe stockera les informations essentielles de chaque livre et fournira des méthodes pour interagir avec ces données.
Êtes-vous prêt à faire entrer la bibliothèque JavaTown dans l'ère numérique ? C'est parti pour le codage !
Compléter la classe Book
Dans cet exercice, vous allez créer l'un des composants fondamentaux d'un système de gestion de bibliothèque. Cette tâche vous permettra de mettre en pratique les concepts de la programmation orientée objet en Java, notamment la conception de classes, l'implémentation de méthodes et la gestion d'état. En relevant ce défi, vous acquerrez une expérience précieuse dans la création d'applications concrètes. Plongeons dans l'univers des livres virtuels !
Tâches
- Ouvrez le fichier pré-créé
Book.javasitué dans le répertoire~/project. - Repérez les commentaires TODO dans le code.
- Ajoutez le code manquant pour compléter la classe
Bookconformément aux exigences.
Exigences
- Le fichier
Book.javadoit déjà être présent dans le répertoire~/project. - Complétez le constructeur pour initialiser tous les champs (title, author, publicationYear et isAvailable).
- Implémentez la méthode
borrowBook():- Si le livre est disponible, passez isAvailable à false et retournez true.
- Si le livre n'est pas disponible, retournez false.
- Implémentez la méthode
returnBook():- Passez isAvailable à 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 doit être : "Title by Author (Year)"
Exemple
Une fois correctement complété, 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 à celle-ci :
cd ~/project
javac Book.java
java Book
Exemple de sortie :
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
Résumé
Dans ce défi, vous avez créé une classe Book qui illustre les concepts clés de la programmation orientée objet en Java :
- Encapsulation : La classe
Bookregroupe les données (title, author, publicationYear, isAvailable) et les comportements (borrowBook, returnBook, getFormattedBookDetails) relatifs à un livre. - Constructeur : Vous avez implémenté un constructeur pour initialiser les propriétés du livre lors de la création d'un nouvel objet
Book. - Méthodes : Vous avez créé des méthodes représentant les actions qu'un livre peut subir (emprunt et retour) ainsi qu'une méthode pour récupérer les informations formatées du livre.
- Gestion d'état : La propriété
isAvailableainsi que les méthodesborrowBooketreturnBookdémontrent comment un objet peut gérer son état interne.
Cette classe Book constitue la base d'un système de gestion de bibliothèque. Dans une application réelle, vous pourriez étendre ce concept en créant une classe Library gérant une collection d'objets Book, ou en ajoutant des règles d'emprunt plus complexes.
N'oubliez pas que la programmation orientée objet consiste à modéliser des concepts du monde réel sous forme de code. Tout au long de votre apprentissage de Java, cherchez des occasions de représenter les entités comme des objets possédant à la fois des données et des comportements.
Continuez à pratiquer et à expérimenter. Essayez d'ajouter d'autres méthodes à la classe Book, comme une méthode pour mettre à jour le titre ou l'auteur, ou créez une classe Library capable de stocker et de gérer plusieurs objets Book. Plus vous coderez, plus vous serez à l'aise avec Java et les concepts de la POO.



