Abstraction en JavaScript | Expliqué

Abstraction en JavaScript | Expliqué
En JavaScript, la plupart des éléments sont basés sur «objets,"Et il utilise"Programmation orientée objet"(Pavillon) à sa manière.

Le concept de Abstraction Dans JavaScript, c'est masquer les détails de l'implémentation et mettre en surbrillance les fonctionnalités essentielles d'un objet aux utilisateurs. C'est ainsi que l'intégration de l'abstraction dans un programme JavaScript peut améliorer la lisibilité du code et éviter la duplication. En ne fournissant que des détails importants aux utilisateurs, il améliore également la sécurité d'une application.

Je ne sais pas comment mettre en œuvre l'abstraction? Pas de soucis! Cet article expliquera Abstraction dans Javascrip avec l'aide d'exemples appropriés. Alors, commençons!

Cours abstraits en JavaScript

Si une classe comprend une ou plusieurs méthodes abstraites, elle est connue sous le nom de «Classe abstraite»Et ce type de classe a des méthodes JavaScript abstraites et régulières. N'oubliez pas que pour mettre en œuvre l'abstraction dans une classe, vous devez déclarer à au moins une méthode abstraite.

Méthodes abstraites en javascript

Dans une classe abstraite, un type de méthode qui n'est déclaré que et n'a aucune implémentation ou «corps de fonction" est connu comme "Méthode abstraite". La méthode abstraite doit être déclarée dans une classe abstraite, tandis que sa définition peut être ajoutée dans le sous-classes.

Nous allons maintenant démontrer la procédure pour créer une classe abstraite.

Exemple: comment créer une classe abstraite en javascript

Tout d'abord, nous créerons une fonction de constructeur nommée «Personne" avoir un "nom" propriété. Le créé "Personne«La fonction agira comme un«Classe abstraite»:

fonction de fonction ()
ce.name = "Alex";
si ce.constructeur === personne)
lancer une nouvelle erreur ("Votre message d'erreur…");

;

Dans la prochaine étape, nous définirons un «Info()«Méthode pour le«Personne”Claie abstraite qui renvoie la valeur du«nom" propriété:

Personne.prototype.info = function ()
retourner ceci.nom;

Enfin, nous créerons un «personne”Instance de la classe abstraite:

var personne = new personne ();

L'exécution du code fourni lancera une erreur car nous ne pouvons pas créer des objets ou des instances d'une classe abstraite:

Maintenant, nous allons prolonger l'exemple ci-dessus en mettant en œuvre le «Héritage". À cette fin, nous créerons une autre fonction de constructeur qui hérite des méthodes et des propriétés du «Personne”Classe abstraite.

Exemple: comment étendre la classe abstraite en JavaScript

Dans le même exemple, nous définirons une fonction de construction (sous-classe) nommée «Professeur"Cela hérite des propriétés et des méthodes du créé"Personne"Classe en utilisant le"Chaînage prototype»:

fonction de fonction ()
ce.name = "Alex";
si ce.constructeur === personne)
lancer une nouvelle erreur ("Votre message d'erreur…");

;
Personne.prototype.info = function ()
Retour "Le nom de la personne est:" + ceci.nom;

fonction professeur (nom)
ce.name = name;

Professeur.prototype = objet.Créer (personne.prototype);
var enseign1 = nouveau professeur ("Stepheny");
console.journal (professeur1.Info());

Dans ce cas, la mise en œuvre du «Personne«La classe abstraite est cachée, et le«Professeur«La sous-classe ne peut accéder qu'au«Info()" Méthode pour renvoyer la valeur du «nom" propriété:

Nous avons essayé de mettre en œuvre l'abstraction dans les exemples précédents; Cependant, toutes les propriétés d'une classe abstraite ne sont pas complètement satisfaites; Comme nous n'avons pas encore défini aucune méthode abstraite.

Le ES6 La version JavaScript propose de nombreuses fonctionnalités améliorées telles que la création "Classe" en utilisant le "classe»Mots-clés et méthodes d'implémentation. Il vous permet également de définir des méthodes abstraites au sein d'une classe abstraite et de les étendre chez l'enfant ou les sous-classes à l'aide de «Héritage".

Dans l'exemple suivant, nous implémenterons une classe abstraite JavaScript ayant les propriétés spécifiées.

Exemple: comment implémenter l'abstraction en JavaScript

En utilisant le «classe«Mot-clé, nous allons maintenant définir«Personne«En tant que classe abstraite, avoir un«constructeur()", Et un "Info()”Méthode abstraite:

classe de classe
constructeur ()
si ce.constructeur == personne)
lancer une nouvelle erreur ("Votre message d'erreur…");


Info()
Jetez une nouvelle erreur ("La méthode abstraite ajoutée n'a pas d'implémentation");

Ensuite, nous créerons une sous-classe "Professeur,«Qui hérite des propriétés et de la méthode du«Personne"Classe en utilisant"Héritage«Et définissez la mise en œuvre de la méthode abstraite de classe parent»Info()" dans le "Professeur" classe:

Le professeur de classe étend la personne
Info()
console.journal ("je suis professeur");


var enseign1 = nouveau professeur ();
professeur1.Info();

Comme vous pouvez le voir, la mise en œuvre du «Info()«La méthode est exécutée avec succès:

Si le Résumé de la classe parent "Info()«La méthode est invoquée dans le«Professeur”Classe, cela lancera une erreur. Pour vérifier ce cas, ajoutez la ligne de code suivante dans la définition de la classe enfant "Info()”Méthode, puis exécutez à nouveau le programme:

super.Info();

La sortie donnée signifie que l'exécution de la méthode abstraite d'une classe abstraite lancera une erreur:

Nous avons compilé toutes les informations essentielles liées à l'abstraction en JavaScript.

Conclusion

Abstraction dans Javascrip peut être mis en œuvre à l'aide de Cours abstraits et Méthodes abstraites. En JavaScript, une classe abstraite doit contenir au moins une ou plusieurs méthodes abstraites déclarées, tandis que sa définition peut être ajoutée dans ses sous-classes. L'abstraction en JavaScript cache les détails compliqués et difficiles à compréhension du système sous-jacent. Cet article a expliqué l'abstraction en javascript ainsi que des exemples appropriés.