Héritage de classe JavaScript

Dans ce didacticiel, vous découvrirez l'héritage de classe JavaScript à l'aide d'exemples.

Héritage de classe

L'héritage vous permet de définir une classe qui prend toutes les fonctionnalités d'une classe parente et vous permet d'en ajouter d'autres.

En utilisant l'héritage de classe, une classe peut hériter de toutes les méthodes et propriétés d'une autre classe.

L'héritage est une fonctionnalité utile qui permet la réutilisation du code.

Pour utiliser l'héritage de classe, vous utilisez le extendsmot - clé. Par exemple,

 // parent class class Person ( constructor(name) ( this.name = name; ) greet() ( console.log(`Hello $(this.name)`); ) ) // inheriting parent class class Student extends Person ( ) let student1 = new Student('Jack'); student1.greet();

Production

 Bonjour Jack

Dans l'exemple ci-dessus, la Studentclasse hérite de toutes les méthodes et propriétés de la Personclasse. Par conséquent, la Studentclasse aura désormais la namepropriété et la greet()méthode.

Ensuite, nous avons accédé à la greet()méthode de Studentclasse en créant un student1objet.

Mot clé JavaScript super ()

Le supermot clé utilisé dans une classe enfant désigne sa classe parente. Par exemple,

 // parent class class Person ( constructor(name) ( this.name = name; ) greet() ( console.log(`Hello $(this.name)`); ) ) // inheriting parent class class Student extends Person ( constructor(name) ( console.log("Creating student class"); // call the super class constructor and pass in the name parameter super(name); ) ) let student1 = new Student('Jack'); student1.greet();

Ici, la classe à l' superintérieur Studentfait référence à la Personclasse. Par conséquent, lorsque le constructeur de Studentclass est appelé, il appelle également le constructeur de la Personclasse qui lui assigne une propriété de nom.

Méthode ou propriété de remplacement

Si une classe enfant a le même nom de méthode ou de propriété que celui de la classe parent, elle utilisera la méthode et la propriété de la classe enfant. Ce concept est appelé remplacement de méthode. Par exemple,

 // parent class class Person ( constructor(name) ( this.name = name; this.occupation = "unemployed"; ) greet() ( console.log(`Hello $(this.name).`); ) ) // inheriting parent class class Student extends Person ( constructor(name) ( // call the super class constructor and pass in the name parameter super(name); // Overriding an occupation property this.occupation = 'Student'; ) // overriding Person's method greet() ( console.log(`Hello student $(this.name).`); console.log('occupation: ' + this.occupation); ) ) let p = new Student('Jack'); p.greet();

Production

Bonjour étudiant Jack. profession: étudiant

Ici, la occupationpropriété et la greet()méthode sont présentes dans la Personclasse parent et la Studentclasse enfant . Par conséquent, la Studentclasse remplace la occupationpropriété et la greet()méthode.

Utilisations de l'héritage

  • Puisqu'une classe enfant peut hériter de toutes les fonctionnalités de la classe parent, cela permet la réutilisation du code.
  • Une fois qu'une fonctionnalité est développée, vous pouvez simplement en hériter. Pas besoin de réinventer la roue. Cela permet un code plus propre et plus facile à entretenir.
  • Puisque vous pouvez également ajouter vos propres fonctionnalités dans la classe enfant, vous ne pouvez hériter que des fonctionnalités utiles et définir d'autres fonctionnalités requises.

Articles intéressants...