Classe Book avec composition
Fait partie de la section Programmation Orientée Objet du Journey JavaScript de Coddy — leçon 51 sur 56.
Défi
Créer la classe Book avec la composition
Votre tâche :
- Dans le fichier nommé
Book.js, importez la classeAuthoren haut - Créez et exportez une classe
Bookavec :- Des champs privés :
#title,#author,#isCheckedOut - Un constructeur qui prend
titleetauthor - Deux getters :
titleetauthorInfoqui retourne le nom de l'auteur
- Des champs privés :
- Dans
main.js, ajoutez l'importation pour la classeBook
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
1Objets et le mot-clé this
Révision rapide : Les objetsAjouter des méthodes aux objetsComprendre le mot-clé thisFonctions constructeursLe mot-clé newDéfi récapitulatif7L'héritage et le mot-clé extends
L'héritageLa relation « est un »Le mot-clé extendsLa méthode super()Hériter des propriétés et méthodesDéfi récapitulatif10Polymorphisme
Qu'est-ce que le polymorphisme ?Redéfinition de méthodes héritéesUtiliser superDéfi récapitulatif13Composition vs Héritage
Les relations « has-a » vs « is-a »Les limites de l'héritage profondConstruction d'objets2Organisation du code
Qu'est-ce qu'un module ?Exporter avec exportImporter avec importExports par défaut vs nommés5Encapsulation & Accès
EncapsulationChamps de classe publics et privésMéthodes privéesDéfi récapitulatif8Organisation du code POO
Organiser les classes en modules11Projet : Un moteur de rendu de formes
Configuration : Classe Shape et ExportationHéritage de la classe CircleRedéfinition et méthode AreaCompteur de formes statique14Système de gestion de bibliothèque
Conception de la bibliothèqueClasse Book avec compositionValidation de l'auteur du livre3Classes et Objets
Qu'est-ce qu'une classe ?Créer des instancesPropriétés et méthodesDéfi récapitulatif9Méthodes et propriétés statiques
Niveau classe vs Niveau instancePropriétés statiquesMéthodes utilitaires statiquesDéfi récapitulatif