放置在另一个文件中的子类的继承(CoffeeScript)

如何使用CoffeeScript在不同文件中正确组织子类?这是代码问题的简单示例。Snake运行得很好,但是随后尝试使用Dog类(因为将其放置在另一个类中),则产生以下错误:


TypeError:Dog不是构造函数


主文件: .test / Animals.coffee


#expect = require "expect.js"

Animal = require "../learning/Animals"

Snake = Animal.Snake

Dog = require "../learning/Dog"

#Dog = Animal.Dog #unresolved variable


describe 'animals', ->

  it 'test inheritance', ->

    sam = new Snake "Sammy the Python"

    peanut = new Dog "Peanut the Dog"


    sam.move()

    peanut.move()

父班: .learning / Animals.coffee


class Animal

  constructor: (@name) ->


  move: (meters) ->

    console.log(@name + " moved #{meters}m.")


class Snake extends Animal

  move: ->

    console.log( "Slithering...")

    super 5


module.exports = { Animal, Snake }

子类别: .learning / Dog.coffee


Animal = require './Animals'


class Dog extends Animal

  move: ->

    console.log( "Runs...")

    super 15


module.exports = { Dog }


慕桂英4014372
浏览 100回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript