Maison >interface Web >js tutoriel >Points clés pour expliquer la réécriture de méthode dans l'héritage js
1. Une question rencontrée lors de l'entretien, la sous-classe hérite de la classe parent. La classe parent a deux méthodes, remplacez l'une des méthodes. En ce qui concerne l'héritage, j'utilise définitivement l'héritage combiné. Les méthodes sont toutes écrites sur le prototype. Il est possible de remplacer les méthodes directement sur le prototype objet de la sous-classe, car les attributs de l'objet. La recherche est basée sur le principe de proximité sur la chaîne prototype. La méthode trouvée en premier appellera cette méthode.
2. Le code est le suivant :
[javascript] view plain copy // supcalss var parent = function(name,age){ this.name = name; this.age = age; } parent.prototype.showProper = function() { console.log(this.name+":"+this.age); } var child = function(name,age){ parent.call(this,name,age); } // inheritance child.prototype = Object.create(parent.prototype); // child.prototype = new parent(); child.prototype.constructor = child;
// rewrite function child.prototype.showProper = function(){ console.log('I am '+this.name+":"+this.age); } var obj = new child('wozien','22'); obj.showProper();
De cette façon, la sous-classe remplace la méthode showProper de la classe parent. Parmi eux, la fonction Object.create(proto) crée un objet avec l'objet proto comme objet prototype et renvoie cet objet.
L'ordre de recherche des méthodes : obj -> child.prototype ->parent.prototype
3. Points à noter : lors de l'implémentation de l'héritage et du remplacement de méthodes dans JS, ou lors de la création de When. en utilisant des méthodes de classe, elles sont toutes exploitées sur le prototype d'objet prototype. Il n'est pas nécessaire de considérer d'autres méthodes d'héritage des méthodes.
Articles associés :
Explication des méthodes de définition des classes en JS
Explication de la syntaxe de base et des variables de JavaScript
Explication de quelques méthodes basiques et couramment utilisées en js
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!