class Tabla{
static mensaje:string = 'hola 1';
static muestraMensaje:() => void;
};
const tablero = new Tabla();
// Quiero definir el método fuera de la clase (no quiero que con el tiempo mi clase llegue a parecerse a una vaca preñada)
Tabla.muestraMensaje = function(){
console.log(this.mensaje);
}
Tabla.muestraMensaje() // salida: 'hola 1' (hasta aqui es correcto)
// El problema lo tengo con los objetos. Por ejemplo:
tablero.mensaje = 'hola 2' // error porque 'mensaje' es static!
// Luego quiero ver el nuevo mensaje enviado a tablero
tablero.muestraMensaje(); // error pues el metodo es static!
// Cual es el metodo de trabajo para poder hacer esto?
Solución:
class Tabla{
visible:boolean;
constructor(visible:boolean){
this.visible = visible;
}
muestra() {}
};
Tabla.prototype.muestra = function(){
Tabla.prototype.visible = false;
console.log(this.visible);
}
const tablero = new Tabla(true);
Tabla.prototype.muestra();
tablero.muestra();
[code]