¿Cuál es la mejor/la mejor forma de extender una clase javascript para que la clase B herede todo de la clase A (clase B amplía A)?Javascript extends clase
Respuesta
Eche un vistazo a Simple JavaScript Inheritance y Inheritance Patterns in JavaScript.
El método más simple es probablemente la herencia funcional, pero hay pros y contras.
Segundo enlace está muerto. – Jarrett
El segundo enlace ahora está aquí: http://bolinfest.com/javascript/inheritance.php –
Douglas Crockford tiene unas muy buenas explicaciones de la herencia en JavaScript:
- prototypal inheritance: la forma 'natural' de hacer las cosas en JavaScript
- classical inheritance: más cerca de lo que se encuentra en la mayoría de los lenguajes orientados a objetos, pero tipo de corre a contrapelo de JavaScript
extend = function(destination, source) {
for (var property in source) {
destination[property] = source[property];
}
return destination;
};
También podría agregar filtros en el ciclo for.
Esto no es lo que OP pidió ni corrigió "extender": debería iterar sobre Object.keys o al menos verificar si hasOwnProperty –
Necesita hasOwnProperty compruebe y sobrescribirá los métodos y las propiedades si son iguales, sin la posibilidad de llamar al método de superclase más adelante. –
- 1. Java abstract/extends issue
- 2. MyGestureDetector extends SimpleOnGestureListener
- 3. estática <T extends Number & Comparable <? Extends number & Comparable <? Número súper >>
- 4. Sin procesar a <? extends Object>
- 5. Cualquier forma de hacer {% extends '...'%} condicional? - Django
- 6. ArrayList (Colección <? extends E> c)
- 7. {% include%} vs {% extends%} en plantillas de django
- 8. C# Genéricos: Lista <Object> o nueva clase extends List <Object>
- 9. Doble restricción genérica en la clase en Java: extends ConcreteClass & I
- 10. Cómo entender el código JavaScript generado por la palabra clave `extends` de CoffeeScript
- 11. Confusión de JUnit: use 'extends TestCase' o '@Test'?
- 12. JavaScript Iterator Clase
- 13. clase anidada de Javascript
- 14. Herencia de clase en Javascript
- 15. Clase y alcance en Javascript
- 16. variable de clase en Javascript
- 17. Variables de clase en Javascript
- 18. Python: ¿Por qué extends() y append() devuelven None (void)?
- 19. ¿Por qué `T extends String` está permitido pero da advertencia?
- 20. django extends problem - la plantilla hija no muestra
- 21. Diferencias entre 'extends' en coffeescript y 'util.inherits' en node.js
- 22. ¿Cómo se ve una relación "interface extends interface" en UML?
- 23. rendimiento de la carga de clases php y el uso de 'extends'
- 24. ¿Cambiar CSS de clase en Javascript?
- 25. conversión de clase C# tener JavaScript
- 26. Agregar una clase con javascript, no reemplazar
- 27. Opp Javascript e instanciación de clase simple
- 28. ¿Cómo creo una clase en Javascript?
- 29. Cómo obtener elementos por clase en JavaScript?
- 30. javascript oop, instanceof y clase base
Actualy ... ¿hay alguna otra manera, pero b.prototype = new a; – xpepermint
JavaScript no tiene clases. Por lo tanto, toda esta pregunta no tiene sentido. ¿Estás hablando de Java? ¿O ActionScript? Esos * do * tienen clases, pero no tienen absolutamente nada que ver con JavaScript. ¿O estás hablando de una biblioteca de JavaScript que implementa OO basado en clases en JavaScript, como MooTools, por ejemplo? En ese caso, la respuesta depende de la biblioteca de la que está hablando. –
Existe mi objeto Clase: https://github.com/reduardo7/sjsClass/blob/master/sjsclass.js –