coffeescript 的基本继承,child 覆盖未调用

basic inheritance with coffeescript, child override not called

我遇到了意外行为。我在 child class 中覆盖了一个函数,但是 parent class 中的函数仍在被调用。我做错了什么?

class MyClassA
    myFnc: ->
        debugger
        @myFncTest()

    myFncTest: ->
        ## this one is called eventhough it's defined in extended class

class MyClassB extends MyClassA
    myFncTest: ->
        debugger


inst = new MyClassB()
inst.myFnc()

编辑

我正在使用 Marionette 模块,它们包含在两个单独的文件 MyClassA 和 MyClassB 中

MyApp.module("MyModuleA", function(MyModule, MyApp, Backbone, Marionette, $, _)

class MyClassA
        myFnc: ->
            debugger
            @myFncTest()

        myFncTest: ->
            ## this one is called eventhough it's defined in extended class

MyApp.module("MyModuleB", function(MyModule, MyApp, Backbone, Marionette, $, _)

class MyClassB extends MyApp.MyModuleA.MyClassA

        myFncTest: ->
            debugger


    inst = new MyClassB()
    inst.myFnc()

如果我这样写:

class MyClassA
    myFnc: ->
        console.log 'myFnc'
        @myFncTest()

    myFncTest: ->
        console.log 'hello from A'
        ## this one is called eventhough it's defined in extended class

class MyClassB extends MyClassA
    myFncTest: ->
        console.log 'hello from B'


inst = new MyClassB()
inst.myFnc()

和运行

➜ coffee test.coffee
myFnc
hello from B

我只有"Hello from B".

我猜你要么调用 super() ,要么它们是代码中的其他副作用

我使用的是最新版本的 coffeescript:

➜ coffee -v
CoffeeScript version 1.9.0