Comment étendre une classe (hériter) en JavaScript ?
En JavaScript, vous pouvez étendre une classe en utilisant le mot-clé extends
. Voici un exemple:
class Animal {
constructor(name) {
this.name = name;
}
speak() {
console.log(`${this.name} fait un bruit.`);
}
}
class Chien extends Animal {
speak() {
console.log(`${this.name} aboie.`);
}
}
let chien = new Chien('Fido');
chien.speak(); // Output: "Fido aboie."
Dans cet exemple, la classe Chien
étend la classe Animal
en utilisant le mot-clé extends
. Cela signifie que la classe Chien
hérite de toutes les propriétés et méthodes de la classe Animal
. La méthode speak
de la classe Chien
remplace la méthode speak
de la classe Animal
.
Vous pouvez également appeler le constructeur de la classe parente en utilisant le mot-clé super
. Voici un exemple:
class Animal {
constructor(name) {
this.name = name;
}
speak() {
console.log(`${this.name} fait un bruit.`);
}
}
class Chien extends Animal {
constructor(name, breed) {
super(name);
this.breed = breed;
}
speak() {
console.log(`${this.name} (${this.breed}) aboie.`);
}
}
let chien = new Chien('Fido', 'Labrador');
chien.speak(); // Output: "Fido (Labrador) aboie."
Dans cet exemple, la classe Chien
appelle le constructeur de la classe parente Animal
en utilisant super(name)
. Cela permet d'initialiser la propriété name
de la classe parente. La classe Chien
a également une propriété breed
qui est initialisée dans son propre constructeur.