CoffeeScript,原型继承和构造函数

时间:2013-02-12 20:05:11

标签: javascript constructor coffeescript prototype

在CoffeeScript中,似乎在实例化子类时不会调用超类构造函数。

有解决方法吗?

以下是一个例子:

class A
    element = null

    constructor: ->
        element = document.createElement "div"

    hide: =>
        element.style.display = "none"

class B extends A
    constructor: ->
        @hide() #error!

我希望首先调用A的构造函数,然后调用B的构造函数。如果B然后调用hide方法,它应该隐藏在A的构造函数中创建的元素,而不是说element为空。

谢谢!

1 个答案:

答案 0 :(得分:5)

我认为你需要在子类中调用super

class A
    element = null

    constructor: ->
        element = document.createElement "div"

    hide: =>
        element.style.display = "none"

class B extends A
    constructor: ->
        super
        @hide() #error!