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 appelé Book.js, importez la classe Author en haut
  2. Créez et exportez une classe Book avec :
    • Champs privés : #title, #author, #isCheckedOut
    • Un constructeur qui prend title et author
    • Deux accesseurs : title et authorInfo, qui renvoie le nom de l’auteur
  3. Dans main.js, ajoutez l’importation de la classe Book

Comment la composition est appliquée ici :

La composition signifie une relation « possède-un ». Dans notre classe Book :

  • Book HAS-AN Author (et non « is-an » Author)
  • Book contient une instance de Author comme l’un de ses composants
  • Author existe séparément et peut être utilisé par plusieurs Books
  • C’est cela, 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