调用基类的方法(不是直接的父类)

时间:2016-03-05 01:23:28

标签: inheritance coffeescript

假设我有3个继承彼此的类,并且都覆盖了相同的方法:

class Base
    foo: ->
      console.log 'base'

class Middle extends Base
    foo: ->
      console.log 'middle'

class Child extends Middle
    foo: ->
      console.log 'child'

如果我需要从Middle致电Child的实施,我可以使用super。但是如果我需要调用Base的实现呢? coffescript支持吗?

1 个答案:

答案 0 :(得分:1)

这有点难看,但这是可能的:

class Child extends Middle
  foo: ->
    console.log 'child'
    @constructor.__super__.constructor.__super__.foo()

我不知道它是否可以缩短。