En fait, lorsque j'ai commencé à apprendre JS, j'ai examiné la mise en œuvre de l'héritage. À ce moment-là, j'ai juste essayé de comprendre les segments de code que j'ai vus du livre. Je l'ai repensé aujourd'hui et j'ai senti que c'était le résultat de l'évolution de l'exploration pensée.
L'héritage signifie réutilisation.
Si vous mettez de côté l'idée inhérente de l'héritage et laissez B réutiliser les membres d'un, la façon la plus simple et la plus grossière de le faire, b = a;
Ensuite, la question est: tout changement à B est un changement à A (le même objet).
Ok, puis copiez-en un. Si la copie peu profonde n'est pas suffisamment sûre, utilisez une copie profonde.
Problème: le code est réutilisé, mais la mémoire est gaspillée (quelles que soient les variables ou les méthodes, c'est un objet en js).
Si vous ne copiez pas, ne lisez pas et n'écrivez pas, vous pouvez utiliser le prototype JS, b .__ proto__ = a. Généralement, nous ne changeons pas directement __proto__, c'est trop violent. JS fournit une méthode qui peut atteindre l'objectif plus "doux" - objet.Create (b).
Cette méthode est possible, mais ce n'est qu'un mode de réutilisation pour des objets spécifiques. Et si nous réalisons "l'objet créé à l'aide de ConstructorB peut réutiliser le prototype de l'objet de constructora"?
La réponse est: Traitez B comme constructorb.prototype et traitez A comme constructora.prototype.
question:
Solution:
Lors de la déclaration de constructorb, le système demandera automatiquement à ConstructorB.prototype.Constructor = ConstructorB; Dans le code ci-dessus, le constructeur est jeté et le constructeur est ajouté.
Ce qui précède est l'héritage le plus fondamental. Il n'est pas dans le cadre de cet article, sur la façon dont les sous-classes appellent le constructeur et les membres de la classe parent plus généralement (comme celui-ci._Super), comment implémenter le mode d'hérédité plus généralement (comme a = héritage (b)), etc.
Ce qui précède est le contenu complet de l'héritage à l'ancienne des classes JavaScript que l'éditeur vous apporte. J'espère que tout le monde soutiendra Wulin.com plus ~