Maison >interface Web >js tutoriel >Points clés pour expliquer la réécriture de méthode dans l'héritage js

Points clés pour expliquer la réécriture de méthode dans l'héritage js

亚连
亚连original
2018-05-17 09:57:412457parcourir

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!

Déclaration:
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