Menu
Coddy logo textTech

Classe Book con composizione

Fa parte della sezione Programmazione orientata agli oggetti del percorso JavaScript di Coddy. Lezione 51 di 56.

challenge icon

Sfida

Crea la classe Book con la composizione

Il tuo compito:

  1. Nel file chiamato Book.js, importa la classe Author all'inizio
  2. Crea ed esporta una classe Book con:
    • Campi privati: #title, #author, #isCheckedOut
    • Un costruttore che accetta title e author
    • Due getter: title e authorInfo, che restituisce il nome dell'autore
  3. In main.js, aggiungi l'importazione della classe Book

Come si applica la composizione in questo caso:

La composizione indica una relazione «ha un». Nella nostra classe Book:

  • Book HAS-AN Author (non «è un» Author)
  • La classe Book contiene un'istanza di Author come uno dei suoi componenti
  • Author esiste separatamente e può essere utilizzata da più classi Book
  • Questa è la composizione: costruire oggetti complessi (Book) a partire da oggetti più semplici (Author)

Provalo tu

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

// TODO:  Importa la classe Book

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

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

Tutte le lezioni di Programmazione orientata agli oggetti

Esercitati da solo: Compilatore JavaScript online