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

Crie a classe Book com composição

Sua tarefa:

  1. No arquivo chamado Book.js, importe a classe Author no início
  2. Crie e exporte uma classe Book com:
    • Campos privados: #title, #author, #isCheckedOut
    • Um 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 da classe Book

Como a composição é aplicada aqui:

Composição significa uma relação de “tem-um”. Em nossa classe Book:

  • Book TEM-UM Author (não “é-um” Author)
  • A Book contém uma instância de Author como um de seus componentes
  • O Author existe separadamente e pode ser usado por várias 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

Pratique por conta própria: Compilador de JavaScript online