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.



About the author

William Pham is the Admin and primary author of Howto-Code.com. With over 10 years of experience in programming. William Pham is fluent in several programming languages, including Python, PHP, JavaScript, Java, C++.