类继承和超级

CoffeeScript 提供了一个基本的类结构,允许你在单个可指定表达式中命名你的类,设置超类,分配原型属性以及定义构造函数。

以下小例子:

class Animal
  constructor: (@name) ->

  move: (meters) ->
    alert @name + " moved #{meters}m."

class Snake extends Animal
  move: ->
    alert "Slithering..."
    super 5

class Horse extends Animal
  move: ->
    alert "Galloping..."
    super 45

sam = new Snake "Sammy the Python"
tom = new Horse "Tommy the Palomino"

sam.move()
tom.move()

这将显示 4 个弹出窗口:

  1. 冰虫…
  2. Sammy the Python 移动了 500 万。
  3. 舞动……
  4. 帕洛米诺的汤米移动了 45 米。