Tout d’abord, examinons l’héritage non traditionnel : l’héritage d’instance.
Je ne dirai pas tant de bêtises. Puisqu'il s'agit d'un héritage non traditionnel, il ne doit pas être utilisé couramment. Puisqu'il existe toujours s'il n'est pas couramment utilisé, il n'est utilisé que dans des situations spécifiques. . La méthode d'héritage d'instance est principalement utilisée pour l'héritage des objets principaux, et c'est également le seul moyen de résoudre l'héritage des objets principaux jusqu'à présent.
L'héritage des objets principaux a une certaine valeur, comme l'objet Error. Notre entreprise devra peut-être implémenter nous-mêmes une classe Error pour simplifier le développement futur. À ce stade, j'utiliserai la méthode d'héritage d'instance pour hériter d'Erreur.
Le code est le suivant :
D'accord, testons :
Les résultats nous satisfont :
D'accord, sans plus tarder, il s'agit d'une méthode d'héritage non traditionnelle. Elle est essentiellement utilisée uniquement pour l'héritage des objets principaux.
Jetons un coup d'œil à l'héritage non traditionnel 2 : méthode d'héritage par copie.
Comme son nom l'indique, l'héritage de copie est l'héritage d'objets par copie. Qu'est-ce qui est copié ? Évidemment, ce sont les propriétés et les méthodes de l'objet. Vous souvenez-vous qu'en Javascript, une classe est en fait une Hashtable ? Si vous ne vous en souvenez pas, revenez en arrière et révisez les bases. J'écrirai peut-être un article sur les objets Javascript dans un moment.
Ce sera facile à gérer une fois que vous aurez compris cela, il suffit de regarder le code :
Écrivez d'abord une méthode Extend :
D'accord, écrivons du code pour voir comment l'utiliser :
Une personne avisée peut voir d'un coup d'œil que les défauts de cette méthode sont trop évidents :
Lors de la copie des méthodes d'attributs de l'objet une par une, ce qui est réellement utilisé est la réflexion. Je n'entrerai pas dans les détails sur la. dommages que la réflexion cause à l’efficacité.
Semblable à l'héritage prototypique, l'objet de classe parent doit être initialisé lorsque la relation d'héritage est déterminée, mais que les paramètres ne sont pas encore certains, cela ne fonctionnera pas !
En bref, cette méthode n'est généralement pas utilisée.
D'accord, parlons de quelque chose de couramment utilisé. Héritage mixte !
Ceci est basé sur deux méthodes d'héritage traditionnelles. En comparant les deux méthodes d'héritage, on constate que les avantages et les inconvénients des deux méthodes d'héritage sont complémentaires, donc c'est facile à gérer, mélangeons-les ensemble !
Test réussi !
C'est une solution relativement parfaite, mais elle augmente la complexité du code, donc la solution spécifique dépend du choix de chacun dans la pratique.
Voici les façons de jouer avec l'héritage en Javascript. Vous pouvez continuer à prêter attention à mes autres articles.