Menu
Coddy logo textTech

Clase Libro con Composición

Parte de la sección Programación Orientada a Objetos del Journey de JavaScript de Coddy — lección 51 de 56.

challenge icon

Desafío

Crear la clase Book con composición

Tu tarea:

  1. En el archivo llamado Book.js importa la clase Author en la parte superior
  2. Crea y exporta una clase Book con:
    • Campos privados: #title, #author, #isCheckedOut
    • Un constructor que acepte title y author
    • Dos getters: title y authorInfo que devuelva el nombre del autor
  3. En main.js, añade la importación para la clase Book

Cómo se aplica la composición aquí:

La composición significa una relación de tipo "tiene-un". En nuestra clase Book:

  • Book TIENE-UN Author (no "es-un" Author)
  • El Book contiene una instancia de Author como uno de sus componentes
  • El Author existe por separado y puede ser utilizado por múltiples Books
  • Esto es composición: construir objetos complejos (Book) a partir de otros más simples (Author)

Pruébalo tú mismo

import { Author } from './Author.js';

// TODO: Importar la clase Book

// Pruebas
const author = new Author('J.K. Rowling');
const book = new Book('Harry Potter', author);

console.log('Book title:', book.title); // Debería mostrar: "Book title: Harry Potter"
console.log('Author:', book.authorInfo); // Debería mostrar: "Author: J.K. Rowling"

Todas las lecciones de Programación Orientada a Objetos