上調用方法我正在使用面向對象的coffeescript構建Node.js應用程序。Coffeescript:動態創建類的實例在
我有一個super class
與像一個靜態方法:
class RedisObject
@find: (id, cb) ->
client.HGETALL "#{@className()}|#{id}", (err, obj) =>
unless err
cb(new RedisObject(obj, false))
有沒有像
class User extends RedisObject
當我呼籲User class
我想find()
一個子類,它傳遞的User
一個實例,而不是RedisObject
到回調函數。
我試圖得到實際的類的類名來實現這種方法是通過使用
@constructor.name
,並使用eval()
從它生成一個實例呼籲 - 但問題是,子類在超類內未定義。
如何才能實現獲取find
方法返回的不同類型實例的行爲,具體取決於調用哪個類,而不必在每個子類中重寫它?
謝謝!完美的作品。 – Matthias
順便說一句,「新這個」沒有記錄的功能,我無法從類部分找到它。這是非常有用的,它應該被指定。 – Ciantic