J'ai une classe a déclaré la manière traditionnelle, c'est-à-dire maintenant, je souhaite créer une copie de cette classe (pas une copie de l'instance que la classe crée) mais modifie une partie de la Méthodes de prototype. En d'autres termes, je veux faire une copie de la classe avec certaines augmentations ... Dois-je utiliser l'héritage pour cela ou moi-même suffisant de boucler et d'attribuer des références à ma nouvelle classe pour le prototype d'origine et le nouveau? p> p>
3 Réponses :
Ceci n'est pas logique pour cloner votre classe, la classe de classe de classe la charactéristique partagée, si vous voulez simplement cloner la classe sa Événement non logique au lieu de simplement cloner, vous devez utiliser pour influer son objet. Vous devez utiliser l'héritage pour créer des sous-classes de la classe existante. Lire l'article complet sur l'intrusation à P>
https://developer.mozilla.org/fr/javascript/guide/inheritance_revisited < / a> p>
J'utiliserais un héritage normal. Essayez ceci:
Après 2 ans + 2 mois, je veux demander est comment je peux clone constructeur qui a des arguments d'entrée?
Héritage de combinaison (parfois également appelé héritage pseudoclassique) combine le chaînage prototype et le vol de constructeur pour tirer le meilleur parti de chaque approche.
function SuperType(name){ this.name = name; this.colors = ['red', 'blue', 'green']; } SuperType.prototype.sayName = function(){ alert(this.name); }; function SubType(name, age){ //inherit properties SuperType.call(this, name); this.age = age; } //inherit methods SubType.prototype = new SuperType();
Utilisez-vous une bibliothèque JavaScript?
myClass i> est une fonction et non une classe.
@Gumbo Il n'y a vraiment aucune différence dans JS, comme vous le regardez.
Cela ressemble à un candidat parfait pour héritage. Peut-être que vous avez juste besoin de restructurer vos pensées un peu - peut-être au lieu d'un super-espèce et d'un sous-type, doté d'un Superype (éventuellement abstrait) partageant toutes les méthodes courantes et deux sous-types de la mise en œuvre de leurs propres variations. Si vous devez appeler une méthode de sous-type d'un autre, il devrait peut-être être dans le type parent.