¿es posible tener más de un constructor para una clase en javascript? es decir, uno con cero parámetros, uno con uno, uno con dos, etc. ...javascript: diferentes constructores para el mismo tipo de objeto
si es así, ¿cómo?
gracias!
¿es posible tener más de un constructor para una clase en javascript? es decir, uno con cero parámetros, uno con uno, uno con dos, etc. ...javascript: diferentes constructores para el mismo tipo de objeto
si es así, ¿cómo?
gracias!
No, no soporta Javascript sobrecarga de funciones.
Sin embargo, dentro de cada función tiene acceso a arguments
object, que mantiene todos los argumentos suministrados a la función, declarados o no. Simplemente puede verlo y decidir qué es exactamente lo que quiere hacer en su constructor.
Bad, sin refinar ejemplo:
function Foo() {
function singleParamConstructor(foo) {
...
}
function twoParamConstructor(foo, bar) {
...
}
switch (arguments.length) {
case 1 :
singleParamConstructor(arguments[0]);
break;
case 2 :
twoParamConstructor(arguments[0], arguments[1]);
break;
...
}
}
esto podría ayudar: JavaScript constructor parameter types
Lo que queremos será llamada "función de constructor polimórfica". mira en http://www.highdots.com/forums/javascript/multiple-constructors-allowed-javascript-198415.html –
Posible duplicado de [Patrón de JavaScript para múltiples constructores] (http://stackoverflow.com/questions/3220721/javascript-pattern-for-multiple-constructors) – Suma