Menu
Coddy logo textTech

Présentation du projet et conception UML

Fait partie de la section Programmation Orientée Objet du Journey Java de Coddy. Leçon 77 sur 87.

challenge icon

Défi

Facile

Commençons le projet de système de gestion de bibliothèque en construisant les fondations : les classes d’entités essentielles dont tout le reste dépendra. Ce premier défi consiste à créer des classes Book et User bien structurées qui modélisent les entités principales du système.

Vous organiserez votre code dans trois fichiers :

  • Book.java : créez la classe Book qui représente un livre de bibliothèque. Chaque livre doit posséder des champs privés pour isbn (String), title (String), author (String) et isAvailable (boolean, initialisé par défaut à true). Incluez un constructeur qui accepte isbn, title et author. Fournissez les méthodes getter appropriées pour tous les champs, ainsi qu’un setter pour isAvailable. Ajoutez une méthode getDetails() qui renvoie une chaîne formatée : [isbn] title by author.
  • User.java : créez la classe User représentant un membre de la bibliothèque. Chaque utilisateur doit posséder des champs privés pour id (String) et name (String). Incluez un constructeur qui accepte les deux valeurs et fournissez des méthodes getter pour chaque champ. Ajoutez une méthode toString() qui renvoie : User[id]: name.
  • Main.java : réunissez vos classes pour démontrer qu’elles fonctionnent correctement. Vous recevrez cinq entrées : l’ISBN, le titre et l’auteur d’un livre, puis l’identifiant et le nom d’un utilisateur.

    Créez un Book avec les trois premières entrées et un User avec les deux dernières. Affichez les détails du livre à l’aide de getDetails(), puis affichez si le livre est disponible au format Available: true ou Available: false. Enfin, affichez l’utilisateur à l’aide de sa méthode toString().

Vous recevrez cinq entrées dans l’ordre suivant : ISBN (String), titre (String), auteur (String), identifiant utilisateur (String) et nom d’utilisateur (String).

Par exemple, avec les entrées 978-0-13-468599-1, Effective Java, Joshua Bloch, U001 et Alice Smith, votre sortie serait :

[978-0-13-468599-1] Effective Java by Joshua Bloch
Available: true
User[U001]: Alice Smith

Ces classes fondamentales serviront de briques de base pour l’ensemble du système de gestion de bibliothèque. Dans les prochaines leçons, vous les compléterez avec des fonctionnalités d’emprunt, des capacités de recherche et bien plus encore !

Essayez vous-même

import java.util.Scanner;

class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        
        // Lire les informations du livre
        String isbn = scanner.nextLine();
        String title = scanner.nextLine();
        String author = scanner.nextLine();
        
        // Lire les informations de l'utilisateur
        String userId = scanner.nextLine();
        String userName = scanner.nextLine();
        
        // TODO: Créer un objet Book avec isbn, title et author
        
        // TODO: Créer un objet User avec userId et userName
        
        // TODO: Afficher les détails du livre en utilisant getDetails()
        
        // TODO: Print whether the book is available (format: "Available: true" or "Available: false")
        
        // TODO: Afficher l'utilisateur en utilisant toString()
    }
}

Toutes les leçons de Programmation Orientée Objet

Entraînez-vous par vous-même : Compilateur Java en ligne