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 reciba title y author
    • Dos getters: title y authorInfo, que devuelve el nombre del autor
  3. En main.js, añade la importación de la clase Book

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

La composición significa una relación «tiene-un». En nuestra clase Book:

  • Book HAS-AN Author (no «is-an» Author)
  • Book contiene una instancia de Author como uno de sus componentes
  • Author existe por separado y puede ser utilizado por varios Books
  • Esto es composición: construir objetos complejos (Book) a partir de objetos 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

Practica por tu cuenta: Compilador de JavaScript online