Maison > Article > interface Web > compétences en encapsulation orientée objet javascript et héritage_javascript
Trions l'encapsulation et l'héritage en js orienté objet.
1.Encapsulation
Il existe de nombreuses façons d’implémenter l’encapsulation dans js. En voici quelques-unes couramment utilisées.
1.1 Objet de génération du mode original
Écrivez directement nos membres dans l'objet et renvoyez-les avec la fonction. Inconvénients : Il est difficile de voir une instance d’un modèle.
Code :
1.2 Générer des objets de modèle de construction
js nous fournit un modèle d'utilisation de constructeurs pour générer des objets. Le soi-disant "constructeur" est en fait une fonction ordinaire, mais la variable this est utilisée en interne. Lorsque le mot-clé new est utilisé pour générer une instance du constructeur, la variable this sera liée à l'objet instance.
Entrez directement le code :
Il n'est pas difficile de voir que l'objet généré par le constructeur js est exactement le même que l'objet généré par la classe en C#. Les deux utilisent des modèles pour définir les membres de l'objet et les instancier via le nouveau mot-clé.
Générer le même objet Stu en utilisant le code C#
OK, nous avons maintenant les objets de base. Nous avons donc maintenant besoin d’une méthode commune à tous les objets et qui ne permette de créer cette méthode qu’une seule fois. (Pas créé à plusieurs reprises avec l'objet new) Que dois-je faire ? Tout le monde sait qu'en C# nous pouvons utiliser des membres statiques. Alors comment faire en js ?
1.3 Mode Prototype
En js, chaque constructeur possède un attribut prototype. Toutes les propriétés et méthodes de cet objet seront héritées par l'instance du constructeur. Ensuite, ajouter des membres directement au prototype équivaut à déclarer des membres statiques en C#.
Code :
C'est tout pour l'encapsulation. Voyons comment l'héritage est implémenté dans js ?
2. Héritage
2.1 Liaison du constructeur
Appelez directement la méthode call ou apply dans la fonction enfant pour lier le constructeur de l'objet parent à l'objet enfant.
L'application fait ici deux choses. Elle donne le premier paramètre this au constructeur Grade (appelant), puis exécute le code dans Grade. Cela équivaut à exécuter à nouveau les membres définis avec ceci dans Grade dans Stu.
2.2 Héritage via prototype
Regardez d'abord le code
Code :
Comme mentionné précédemment, le prototype est équivalent à un membre statique en C#, nous transformons donc tous les membres de la classe parent en nos propres membres statiques pour obtenir l'héritage.
Il y a un inconvénient à l'héritage via prototype : tous les membres hérités sont statiques, alors comment hériter des membres objet ?
2.3 Héritage de copie
Copiez toutes les propriétés et méthodes de l'objet parent dans l'objet enfant pour obtenir l'héritage.
Code :
C'est tout pour l'organisation orientée objet js. Cette chose n'est pas statique. Vous pouvez apporter des modifications en fonction de vos propres besoins lorsque vous l'utilisez. Il y a un dicton qui est très bon, le bon est le meilleur.
Ici, nous analysons uniquement l'encapsulation et l'héritage. Nous ferons d'autres articles dans le futur pour vous donner une compréhension plus approfondie de la programmation orientée objet JavaScript. Bien sûr, ce sont toutes des compréhensions personnelles. S'il y a des omissions, veuillez me contacter.