Menu
Coddy logo textTech

Classe Livro com Composição

Parte da seção Programação Orientada a Objetos do Journey de JavaScript da Coddy — lição 51 de 56.

challenge icon

Desafio

Criar a Classe Book com Composição

Sua tarefa:

  1. No arquivo chamado Book.js, importe a classe Author no topo
  2. Crie e exporte uma classe Book com:
    • Campos privados: #title, #author, #isCheckedOut
    • Construtor que recebe title e author
    • Dois getters: title e authorInfo que retorna o nome do autor
  3. Em main.js, adicione a importação para a classe Book

Como a Composição é Aplicada Aqui:

Composição significa uma relação de "tem-um" (has-a). Em nossa classe Book:

  • Book TEM-UM Author (não "é-um" Author)
  • O Book contém uma instância de Author como um de seus componentes
  • O Author existe separadamente e pode ser usado por múltiplos Books
  • Isso é composição: construir objetos complexos (Book) a partir de objetos mais simples (Author)

Experimente você mesmo

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

// TODO: Importar a classe Book

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

console.log('Book title:', book.title); // Deve exibir: "Book title: Harry Potter"
console.log('Author:', book.authorInfo); // Deve exibir: "Author: J.K. Rowling"

Todas as lições de Programação Orientada a Objetos