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

Entraînez-vous par vous-même : Compilateur JavaScript en ligne