Menu
Coddy logo textTech

Clases de Libros y Usuarios

Parte de la sección Programación Orientada a Objetos del Journey de Dart de Coddy. Lección 102 de 110.

challenge icon

Desafío

Fácil

En la lección anterior, creaste una clase Book con propiedades básicas y un método toString(). Ahora es momento de ampliar tu sistema de biblioteca agregando una clase User para representar a los miembros de la biblioteca que pueden pedir libros prestados.

Necesitarás crear un archivo nuevo y actualizar tus archivos existentes:

  • book.dart: Mejora tu clase Book existente agregando una propiedad isAvailable (booleano) cuyo valor predeterminado sea true. Esto permitirá realizar un seguimiento de si un libro puede pedirse prestado.
  • user.dart: Crea una nueva clase User para representar a los miembros de la biblioteca. Cada usuario debe tener un id (String), un name (String) y una lista borrowedBooks que contenga objetos Book. Incluye un constructor que inicialice el id y el nombre, con una lista vacía para los libros prestados. Sobrescribe toString() para que devuelva el formato User [id]: name (X books borrowed), donde X es la cantidad de libros prestados.
  • main.dart: Importa tus archivos de libros y usuarios. Crea un libro con ISBN 978-0-13-468599-1, título The Pragmatic Programmer y autor David Thomas. Crea un usuario con id U001 y nombre Alice Johnson. Imprime el libro y después imprime si está disponible usando el formato Available: true o Available: false. Imprime el usuario. Después agrega el libro a la lista de libros prestados del usuario, establece isAvailable del libro en false e imprime el usuario nuevamente para mostrar la cantidad actualizada de libros.

Esto establece la relación entre libros y usuarios sobre la que trabajarás al implementar el sistema completo de préstamos en la próxima lección.

Salida esperada:

[978-0-13-468599-1] The Pragmatic Programmer by David Thomas
Available: true
User U001: Alice Johnson (0 books borrowed)
User U001: Alice Johnson (1 books borrowed)

Pruébalo tú mismo

import 'book.dart';
// TODO: Importar user.dart

void main() {
  // TODO: Crear un libro con ISBN '978-0-13-468599-1', título 'The Pragmatic Programmer', y autor 'David Thomas'
  
  // TODO: Crear un usuario con id 'U001' y nombre 'Alice Johnson'
  
  // TODO: Imprimir el libro
  
  // TODO: Imprimir si el libro está disponible usando el formato: Available: true/false
  
  // TODO: Imprimir el usuario
  
  // TODO: Añadir el libro a la lista borrowedBooks del usuario
  
  // TODO: Establecer el isAvailable del libro a false
  
  // TODO: Imprimir el usuario de nuevo para mostrar el recuento de libros actualizado
}

Todas las lecciones de Programación Orientada a Objetos

Practica por tu cuenta: Compilador de Dart online