Le mot-clé extends
Fait partie de la section Programmation Orientée Objet du Journey JavaScript de Coddy — leçon 26 sur 56.
Le mot-clé extends en JavaScript est utilisé pour créer une classe enfant qui hérite des propriétés et des méthodes d'une classe parente.
Commençons par créer une classe parente :
class Animal {
constructor(name) {
this.name = name;
}
speak() {
return `${this.name} makes a noise.`;
}
}Maintenant, créons une classe enfant qui étend la classe parente :
class Dog extends Animal {
// La classe Dog hérite de Animal
}Ce code simple signifie que la classe Dog hérite désormais de toutes les propriétés et méthodes de la classe Animal.
Créez une instance de chien :
const dog = new Dog('Rex');Appelez une méthode héritée du parent :
console.log(dog.speak()); // Affiche : "Rex makes a noise."Le mot-clé extends crée une relation d'héritage où la classe enfant (Dog) peut accéder à et utiliser toutes les fonctionnalités définies dans la classe parente (Animal).
Défi
Créez une classe Student qui étend la classe Person en utilisant le mot-clé extends et exportez-la.
Aide-mémoire
Le mot-clé extends crée une classe enfant qui hérite des propriétés et des méthodes d'une classe parente :
class Animal {
constructor(name) {
this.name = name;
}
speak() {
return `${this.name} makes a noise.`;
}
}
class Dog extends Animal {
// Dog hérite d'Animal
}
const dog = new Dog('Rex');
console.log(dog.speak()); // Affiche : "Rex makes a noise."La classe enfant peut accéder à toutes les propriétés et méthodes de la classe parente.
Essayez vous-même
import { Student } from './classes.js';
// Code de test - ne pas modifier
const student = new Student("Emma");
console.log(student.greet()); // Devrait afficher "Hello, I'm Emma"Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
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