L'appel de coffescript super méthodes

J'ai le code suivant:

    class Animal
        constructor: (@name) -> 
        say: () -> console.log "Hello from animal called #{ @name }"

    class Dog extends Animal

        say: () ->
            super.say()
            console.log "Hello from dog called #{ @name }"

    a = new Animal('Bobby')
    a.say()

    d = new Dog("Duffy")
    d.say()            

Le résultat n'est pas

Hello from animal called Bobby
Hello from animal called Duffy
Hello from dog called Duffy

Mais j'obtiens l'erreur suivante:

Hello from animal called Bobby
Hello from animal called Duffy
Uncaught TypeError: Cannot call method 'say' of undefined

Comment se fait-super est pas défini? Comment appeler une méthode parent en vue de l'étendre? Grâce

  • Votre estimation était de mon avis... je me demande pourquoi ils n'ont pas juste le faire fonctionner comme pratiquement tout le monde devine qu'il le devrait? Peut-être une discussion intéressante
InformationsquelleAutor pistacchio | 2012-07-17