He creado una clase singleton que quiero extender. Funciona (la mitad) porque solo crea una sola instancia de la clase, pero las propiedades agregadas a la subclase no están definidas. Aquí está el singleton originales:Cómo crear coffeescript singleton subclase
class Singleton
_instance = undefined
@getInstance: ->
if _instance is undefined
console.log 'no instance exists, so create one'
_instance = new _Singleton()
else
console.log 'an instance already exists.'
class _Singleton
constructor: ->
console.log 'new singelton'
module.exports = Singleton
Y aquí está la subclase:
Singleton = require('./singleton')
class Stinky extends Singleton
constructor: ->
var1 : 'var1'
module.exports = Stinky
Ahora si uso el siguiente en mi aplicación nodo:
Stinky = require './stinky'
thing1 = Stinky.getInstance()
thing2 = Stinky.getInstance()
console.log "Thing var1: #{thing1.var1}"
el método getInstance() se comporta como se esperaba, pero var1 no está definido. Si hago lo mismo en clases que no son singleton, funcionan bien. Gracias.
¿'var1: 'var1'' a typo? ¿Debería ser 'var1 = 'var1'' o en realidad' @ var1 =' var1''? – Sandro