Types d'héritage en javascript

Types d'héritage en javascript
Dans Javascrip, Héritage est un mécanisme qui permet un objet pour hériter de toutes les méthodes et propriétés de son parent ou de son objet de base. Il est également considéré comme une composante cruciale de la POO (programmation orientée objet).

L'idée derrière la mise en œuvre de l'héritage en JavaScript est d'ajouter de nouveaux objets dérivés des objets existants. Lorsque l'objet nouvellement créé devient un enfant ou un objet dérivé d'une classe de parents, il peut hériter de toutes ses méthodes et propriétés.

Cet article discutera les types de Héritage dans Javascrip. Alors, commençons!

Types d'héritage en javascript

JavaScript prend en charge les types d'héritage suivants:

  • Héritage prototypique
  • Héritage pseudoclassique
  • Héritage fonctionnel

Nous discuterons de chacun des types d'héritage mentionnés dans les sections suivantes.

Héritage prototypal en JavaScript

"Prototypal Héritage»Vous permet d'accéder aux propriétés et aux méthodes d'un objet parent. Dans ce type d'héritage, un objet nouvellement créé est autorisé à hériter des propriétés et de la méthode d'un objet existant. Typiquement, "Objet.getPrototypeOf ()" et "Objet.setPrototypeOf ()«Peut être utilisé pour obtenir et définir le prototype d'un objet; Cependant, ES6 standardise le «__proto__»Propriété accessoire qui peut être utilisée dans le même but.

Syntaxe de l'héritage prototypique en JavaScript

Childobject.__proto__ = parentObject

Ici "Childobject»Représente l'objet nouvellement créé qui hérite des propriétés et des méthodes de«Parentobject".

Exemple: comment implémenter l'héritage prototypique en javascript

Tout d'abord, nous créerons deux objets nommés «Vélo" et "Venin"Et ajoutez un"couleur»Propriété pour le«Vélo"Objet et un"nom»Propriété pour le«Venin" objet:

Laisser vélo =
Couleur bleue",
;
Soit Venom =
Nom: "Venom",
;

En utilisant "__proto__«Propriété du«Venin«Objet, nous hériterons des propriétés du«Vélo" objet:

Venin.__proto__ = vélo;

Enfin, nous afficherons le «posséder" (Venin.nom et "hérité" (Venin.couleur) valeurs de propriété de «Venin" objet:

console.Log ("Ceci est un" + venin.couleur + "" + venin.nom);

Héritage pseudoclassique en javascript

L'idée de mettre en œuvre le «Pseudoclassique Héritage" est de créer un "hérité”Fonction qui aide à associer la classe d'enfants à la classe parentale.

À cette fin, l'héritage pseudoclassique utilise:

  • UN "constructeur()" fonction
  • "nouveau»Opérateur pour créer des instances
  • UN "prototype«Propriété qui établit la chaîne de succession et est affectée à la fonction du constructeur afin que tous les cas héritent de la propriété spécifiée.

Maintenant, consultez l'exemple ci-dessous pour comprendre clairement l'héritage pseudoclassique.

Exemple: comment implémenter l'héritage pseudoclassique en JavaScript

Nous définirons une fonction de constructeur nommée «Vélo()»:

Function Bike ()
ce.name = 'vélo';

Ensuite, nous créerons un «Info()«Fonction qui sera héritée par les objets enfants de«Vélo»:

Vélo.prototype.info = function ()
console.journal ('c'est un' + ce.nom );
;

Dans notre programme, nous déclarerons un autre objet nommé «Venin,"Et utilisez le"Vélo.appel()«Méthode pour invoquer le constructeur de vélo ():

fonction venom ()
Vélo.Appelez (ceci);
ce.name = 'venom';

Ensuite, nous utiliserons le «prototype«Propriété pour mettre en œuvre l'hérédité pseudoclassique entre«Venin"Objet et"Vélo" objet:

Venin.prototype = objet.Créer (vélo.prototype);
Venin.prototype.constructeur = vélo;

Dans la dernière étape, le «nouveau«L'opérateur est utilisé pour créer les deux instances», «venin" et "vélo«:

var venom = nouveau venin ();
Var Bike = new Bike ();

Après cela, le «Info()" La fonction est invoquée pour les deux instances:

venin.Info();
vélo.Info();

Comme vous pouvez le voir à partir de la sortie ci-dessous, l'héritage pseudoclassique est implémenté et l'instance «venin«Hérité et exécuté le«Info()»Fonction avec succès:

Héritage fonctionnel en JavaScript

Le mécanisme de héritage des propriétés en appliquant un fonction d'augmentation (La fonction ayant une fonctionnalité générique) à une instance d'objet est connue sous le nom de «Héritage fonctionnel". La fonction d'augmentation définie utilise une extension d'objet dynamique pour ajouter des propriétés et des méthodes supplémentaires à une instance d'objet. Vous pouvez également utiliser son "portée de la clôture«Pour garder certaines données privées.

Exemple: comment implémenter l'héritage fonctionnel en JavaScript

Dans cet exemple, nous créerons un «Vélo"Objet ayant un objet intérieur nommé"X»:

Bike de fonction (données)
var x = ;
X.nom = données.nom;
retour x;

Ensuite, nous créerons un objet enfant nommé «Venin«Qui établit l'héritage avec le«Vélo" classe. Cet objet enfant comprendra une fonction d'augmentation "Info«Ce qui peut avoir l'accès au«nom«Propriété du«X" objet:

fonction venin (data)
var x = vélo (données);
X.info = function ()
Retour "Ceci est un" + x.nom + "vélo";
;
retour x;

Pour implémenter l'héritage fonctionnel, nous créerons «venin«Comme instance d'enfant et passer la valeur du«nom«Propriété comme«données" argument:

var venom = venom (nom: "venom");

Le donné "console.enregistrer()«La méthode va récupérer la valeur du«X.nom"Propriété du parent"Vélo”Objet et imprimez-le sur la console:

console.journal (venin.Info());

Sortir

C'était tout au sujet des types d'héritage en JavaScript. Vous pouvez les explorer davantage en fonction de vos préférences.

Conclusion

Prototypal Héritage, héritage pseudoclassique, et Fonctionnel L'héritage est différent les types de Héritage en javascript. Un type de succession prototypal est implémenté en utilisant le «__proto__»Propriété, alors que, dans l'héritage fonctionnel, un augmentation La fonction est définie qui accède aux propriétés de la classe parentale. De plus, le Pseudoclassique L'héritage utilise un constructeur() fonction, "nouveau»Opérateur, et prototype propriété pour intégrer l'héritage entre deux objets. Cet article a discuté de différents types d'héritage en javascript.