Clases y herencia con CoffeeScript - ydarias/CoffeeScriptTutorial GitHub Wiki
En contra de lo que piensa mucha gente, JavaScript sí permite herencia e incluso trabajar con objetos al estilo de Java o C#, solo que no lo hace de la forma que esperamos. Para ello CoffeeScript crea algunos nuevos conceptos que posteriormente son traducidos utilizando la herencia prototípica de JavaScript.
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()
Por lo tanto, en el código anterior podemos observar como se crea una clase, como se extiende dicha clase o incluso como se sobreescriben métodos de la clase. Todo ello sin necesidad de acceder al objeto 'prototype' y de forma más clara de lo que sería habitual en JavaScript.