Maison > interface Web > js tutoriel > le corps du texte

À propos de l'héritage des classes JavaScript (recommandé)

怪我咯
Libérer: 2017-03-31 09:37:39
original
1193 Les gens l'ont consulté

En fait, lorsque j'ai commencé à apprendre le JS, j'ai vu la mise en œuvre de l'héritage. À cette époque, j'essayais juste de comprendre les extraits de code du livre. J'y ai repensé aujourd'hui et j'ai l'impression que c'est le résultat de l'évolution de la pensée.

L'héritage, c'est-à-dire la réutilisation.

Si vous mettez de côté l'idée inhérente d'héritage et laissez b réutiliser les membres de a, la manière la plus simple et la plus grossière est, b=a ;

Alors la question se pose : tout changement en b, c'est un changement vers a (le même objet).

D'accord, alors faites une copie. Si la copie superficielle n'est pas suffisamment sûre, utilisez une copie profonde.

Problème : Le code est réutilisé, mais la mémoire est gaspillée (qu'il s'agisse de variables ou de méthodes, ce sont tous des objets en JS).

Sans copier, uniquement en lecture et non en écriture, vous pouvez utiliser le prototype JS, b.proto = a. Généralement, nous ne modifions pas le proto directement, car il est trop violent. JS fournit une méthode qui peut atteindre l'objectif de manière relativement "douce" - Object.create(b).

À propos de l'héritage des classes JavaScript (recommandé)

Cette méthode est réalisable, mais ce n'est que le mode de réutilisation d'objets spécifiques. Et si « l'objet créé par ConstructorB pouvait réutiliser le prototype de l'objet de ConstructorA » ?

La réponse est : traitez b comme ConstructorB.prototype et a comme ConstructorA.prototype.

À propos de l'héritage des classes JavaScript (recommandé)

Question :

À propos de l'héritage des classes JavaScript (recommandé)

Solution :

Lors de la déclaration de ConstructorB, le système laissera automatiquement ConstructorB.prototype.constructor=ConstructorB; Afin de réutiliser ConstructorA.prototype dans le code ci-dessus, si le Le constructeur est perdu, ajoutez-le simplement.

À propos de l'héritage des classes JavaScript (recommandé)

Ce qui précède est l'héritage le plus basique concernant la façon dont les sous-classes peuvent appeler le constructeur de la classe parent et les membres (tels que this._super) de manière plus générale, Comment implémenter le modèle d'héritage de manière plus générale (comme A=inheritFrom(B)), etc., dépasse le cadre de cet article^O^

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal