Défi récapitulatif
Fait partie de la section Programmation Orientée Objet du Journey JavaScript de Coddy — leçon 29 sur 56.
Défi
Créer des classes de meubles en utilisant l'héritage
Tâche 1 : Créer une classe Chair
Créez une classe Chair qui étend Furniture :
- Utilisez
super()dans le constructeur pour hériter dematerialetcolorde la classe parente - Ajoutez la propriété :
numberOfLegs - Ajoutez la méthode :
sit()qui retourne"Sitting on the chair"
Tâche 2 : Créer une classe Table
Créez une classe Table qui étend Furniture :
- Utilisez
super()dans le constructeur pour hériter dematerialetcolorde la classe parente - Ajoutez la propriété :
shape - Ajoutez la méthode :
placeItem()qui retourne"Item placed on table"
Essayez vous-même
import { Furniture } from './furniture.js';
import { Table } from './table.js';
import { Chair } from './chair.js';
// Code de test - ne pas modifier
const myChair = new Chair("wood", "brown", 4);
console.log(myChair.describe()); // Devrait afficher "brown wood furniture"
console.log(myChair.numberOfLegs); // Devrait afficher 4
console.log(myChair.sit()); // Devrait afficher "Sitting on the chair"
const myTable = new Table("glass", "clear", "round");
console.log(myTable.describe()); // Devrait afficher "clear glass furniture"
console.log(myTable.shape); // Devrait afficher "round"
console.log(myTable.placeItem()); // Devrait afficher "Item placed on table"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