2011-08-08 34 views
24

Có thể gọi phương thức từ hàm tạo trong Coffeescript không?
ví dụ:Gọi phương thức từ hàm tạo trong Coffeescript

class Animal 
    constructor: (@name) -> 
    move() 

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

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

sam = new Snake "Sammy the Python" 

này được tạo ra thông báo lỗi "ReferenceError: di chuyển không được định nghĩa" sau

Trả lời

35

Có thể. Tuy nhiên, để tham khảo phương pháp, bạn phải sử dụng @move() hoặc this.move(), tên chính nó là move() là không đủ.

3

Gotcha Alert: nếu bạn thấy rằng @ hay này không đề cập đến các trường hợp mới trong một nhà xây dựng, kiểm tra xem bạn nhớ để sử dụng từ khóa MỚI:

instance = new Class() 

KHÔNG:

instance = Class() 

Điều này khiến tôi hiểu và thực sự bực mình. Hy vọng điều này sẽ giúp người khác!

Các vấn đề liên quan