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 Circle14Système de gestion de bibliothèque
Conception de la bibliothèqueClasse Book avec composition3Classes 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