Menu
Coddy logo textTech

Classe Book avec composition

Fait partie de la section Programmation Orientée Objet du Journey JavaScript de Coddy — leçon 51 sur 56.

challenge icon

Défi

Créer la classe Book avec la composition

Votre tâche :

  1. Dans le fichier nommé Book.js, importez la classe Author en haut
  2. Créez et exportez une classe Book avec :
    • Des champs privés : #title, #author, #isCheckedOut
    • Un constructeur qui prend title et author
    • Deux getters : title et authorInfo qui retourne le nom de l'auteur
  3. Dans main.js, ajoutez l'importation pour la classe Book

Comment la composition est appliquée ici :

La composition signifie une relation de type "a-un" (has-a). Dans notre classe Book :

  • Book A-UN Author (et non "est-un" Author)
  • Le Book contient une instance de Author comme l'un de ses composants
  • L'Author existe séparément et peut être utilisé par plusieurs Books
  • C'est de la composition : construire des objets complexes (Book) à partir d'objets plus simples (Author)

Essayez vous-même

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

// À FAIRE : Importer la classe Book

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

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

Toutes les leçons de Programmation Orientée Objet