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 extends
mot - 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 Student
classe hérite de toutes les méthodes et propriétés de la Person
classe. Par conséquent, la Student
classe aura désormais la name
propriété et la greet()
méthode.
Ensuite, nous avons accédé à la greet()
méthode de Student
classe en créant un student1
objet.
Mot clé JavaScript super ()
Le super
mot 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' super
intérieur Student
fait référence à la Person
classe. Par conséquent, lorsque le constructeur de Student
class est appelé, il appelle également le constructeur de la Person
classe 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 occupation
propriété et la greet()
méthode sont présentes dans la Person
classe parent et la Student
classe enfant . Par conséquent, la Student
classe remplace la occupation
proprié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.