Retour au cours

Héritage avec 'extends' et 'super'

JavaScript : Le cours complet pour débutant, de « Zéro à Héros »

73. Héritage avec extends et super

L'Héritage permet à une classe (la classe enfant/sous-classe) d'hériter des propriétés et des méthodes d'une autre classe (la classe parente/super-classe). Cela permet de réutiliser du code et de modéliser des relations de type « est un ».

Le mot-clé extends

javascript class Animal { constructor(name) { this.name = name; } eat() { console.log(${this.name} mange.); } }

// Dog étend Animal, héritant des fonctionnalités 'name' et 'eat()' class Dog extends Animal { bark() { console.log('Wouf !'); } }

const myDog = new Dog('Fido'); myDog.eat(); // Fido mange. myDog.bark(); // Wouf !

Le mot-clé super

Si la classe enfant a besoin de son propre constructeur, elle doit d'abord appeler super(arguments). super appelle le constructeur de la classe parente.

javascript class Puppy extends Dog { constructor(name, breed) { super(name); // Appelle le constructeur d'Animal (définit 'this.name') this.breed = breed; } fetch() { console.log(${this.name} (un ${this.breed}) rapporte la balle.); } }

const puppy = new Puppy('Wag', 'Beagle'); puppy.fetch();