Quelle est la bonne/meilleure façon d'étendre une classe javascript afin que la classe B hérite de tout de la classe A (classe B étend A)?Javascript étend la classe
Répondre
Jetez un oeil à Simple JavaScript Inheritance et Inheritance Patterns in JavaScript.
La méthode la plus simple est probablement l'héritage fonctionnel mais il y a des avantages et des inconvénients.
Deuxième lien est mort. – Jarrett
Le deuxième lien est maintenant ici: http://bolinfest.com/javascript/inheritance.php –
Douglas Crockford a quelques très bonnes explications d'héritage en JavaScript:
- prototypal inheritance: la voie « naturelle » de faire les choses en JavaScript
- classical inheritance: plus proche de ce que vous trouverez dans la plupart des langages OO, mais court sorte de contre le grain de JavaScript
extend = function(destination, source) {
for (var property in source) {
destination[property] = source[property];
}
return destination;
};
Vous pouvez également ajouter des filtres dans la boucle for.
Ceci n'est ni ce que OP a demandé ni correct "extend" - vous devriez parcourir iter.keys ou au moins vérifier hasOwnProperty –
Besoins hasOwnProperty vérifie et écrase les méthodes et les propriétés si elles sont identiques, sans possibilité d'appeler la méthode super classe plus tard. –
- 1. paramètre étend une classe
- 2. Javascript étend objets dans la variable
- 3. AS3 vérifier si la classe étend une autre classe
- 4. Quand une super-classe étend JFrame
- 5. Comment dire quelle classe vous étend?
- 6. L'identification d'une classe qui étend une classe abstraite
- 7. Dynamic ListView étend Activité
- 8. Une classe MediaPlayer mutable qui étend ou utilise la classe MediaPlayer de l'android
- 9. Java étend les classes - Partager les champs de classe au sein de la super étendues classe
- 10. exemple de la façon d'utiliser la classe -> SingleLaunchActivityTestCase <T étend l'activité>
- 11. Variable de classe dans la classe javascript
- 12. jquery étend question
- 13. Java étend l'exemple
- 14. PHP: l'héritage logique (étend)
- 15. Hibernate: Utilisé mappedBy sur une classe qui étend une autre classe annotée comme JoinedSubclass?
- 16. Django étend le modèle
- 17. Comment écrire une classe de ligne personnalisée (étend Zend_Db_Table_Row) pour une classe db_table dans Zend Framework
- 18. @protocole étend @protocol
- 19. Étend les API Android
- 20. Le type C# étend l'interface
- 21. Quelle est la Scala pour une déclaration de « classe <? Étend UnType> »
- 22. Mootools étend la classe "Function" avec une méthode "extend" rendant jQuery inutilisable
- 23. php Étend trois classes sans interface
- 24. Java Inetaddress, Swing étend et jette Exception
- 25. Django Modèles étend problème tag
- 26. XML deserialize dans des classes qui étend la collecte
- 27. Java Générique wildcard étend problème
- 28. du code qui étend l'applet
- 29. Comment Prototype étend-il les objets?
- 30. appel javascript alerte de la classe java
Actuellement ... existe-t-il un autre moyen, mais b.prototype = new a; – xpepermint
JavaScript n'a pas de cours. Par conséquent, toute cette question n'a pas de sens. Parlez-vous de Java? Ou ActionScript? Ceux-ci * ont * des classes, mais ils n'ont absolument rien à voir avec JavaScript. Ou parlez-vous d'une bibliothèque JavaScript qui implémente l'OO basé sur les classes en JavaScript, comme MooTools par exemple? Dans ce cas, la réponse dépend de la bibliothèque dont vous parlez. –
Il y a mon objet Class: https://github.com/reduardo7/sjsClass/blob/master/sjsclass.js –