Menu
Coddy logo textTech

Descripción general del proyecto y diseño UML

Parte de la sección Programación Orientada a Objetos del Journey de Java de Coddy — lección 77 de 87.

challenge icon

Desafío

Fácil

Comencemos el proyecto del Sistema de Gestión de Biblioteca construyendo la base: las clases de entidad principales de las que dependerá todo lo demás. Este primer desafío se centra en crear clases Book y User bien estructuradas que sigan el diseño UML de la lección.

Organizarás tu código en tres archivos:

  • Book.java: Crea la clase Book que representa un libro de la biblioteca. Cada libro debe tener campos privados para isbn (String), title (String), author (String) e isAvailable (boolean, con valor predeterminado true). Incluye un constructor que acepte isbn, title y author. Proporciona los métodos getter apropiados para todos los campos y un setter para isAvailable. Agrega un método getDetails() que devuelva una cadena formateada: [isbn] title by author.
  • User.java: Crea la clase User que representa a un miembro de la biblioteca. Cada usuario debe tener campos privados para id (String) y name (String). Incluye un constructor que acepte ambos valores y proporciona métodos getter para cada campo. Agrega un método toString() que devuelva: User[id]: name.
  • Main.java: Une tus clases para demostrar que funcionan correctamente. Recibirás cuatro entradas: el ISBN de un libro, el título, el autor y, a continuación, el ID y el nombre de un usuario.

    Crea un Book con las tres primeras entradas y un User con las dos últimas. Imprime los detalles del libro usando getDetails(), luego imprime si el libro está disponible en el formato Available: true o Available: false. Finalmente, imprime al usuario usando su método toString().

Recibirás cinco entradas en orden: ISBN (String), title (String), author (String), user ID (String) y user name (String).

Por ejemplo, con las entradas 978-0-13-468599-1, Effective Java, Joshua Bloch, U001 y Alice Smith, tu salida sería:

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

Estas clases fundamentales servirán como bloques de construcción para todo el Sistema de Gestión de Biblioteca. ¡En las próximas lecciones, las ampliarás con funcionalidades de préstamo, capacidades de búsqueda y más!

Pruébalo tú mismo

import java.util.Scanner;

class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        
        // Leer la información del libro
        String isbn = scanner.nextLine();
        String title = scanner.nextLine();
        String author = scanner.nextLine();
        
        // Leer la información del usuario
        String userId = scanner.nextLine();
        String userName = scanner.nextLine();
        
        // TODO: Crear un objeto Book con isbn, title, y author
        
        // TODO: Crear un objeto User con userId y userName
        
        // TODO: Imprimir los detalles del libro usando getDetails()
        
        // TODO: Imprimir si el libro está disponible (formato: "Available: true" o "Available: false")
        
        // TODO: Imprimir el usuario usando toString()
    }
}

Todas las lecciones de Programación Orientada a Objetos