Tôi là một lập trình viên đã lập trình bằng nhiều ngôn ngữ, cả hai chức năng và định hướng OO. Tôi lập trình một số Javascript quá, nhưng không bao giờ được sử dụng (hoặc đã phải sử dụng) đa hình trong đó.Tôi có nên sử dụng đa hình trong javascript không?
Bây giờ, như là một dự án sở thích, tôi muốn chuyển một số ứng dụng được viết bằng Java và C# sử dụng rất nhiều polymorhpism cho Javascript.
Nhưng ngay từ cái nhìn đầu tiên, tôi đã đọc rất nhiều 'Có thể nhưng ...'
Vậy có cách nào khác thay thế không?
Một ví dụ về những gì tôi muốn viết trong JS trong pseudolang:
abstract class Shape{ { printSurface() } ; }
class Rect : Shape() { printSurface() { print (sideA*sideB}}
class Circle : Shape() { printSurface() { print { pi*r*r }}
TheApp { myshapes.iterate(shape s) {s.printSurface() } }
Vì vậy, một trường hợp đa hình cổ điển: iterating trên baseclass.
Tôi muốn đạt được loại hành vi này. Tôi biết nó là polymorhism, nhưng có bất kỳ 'mô hình' khác mà tôi đang xem mà đạt được loại hành vi này hay tôi nên nghiên cứu khả năng thừa kế trong Javascript?
Tx, câu trả lời rất hay. Nhưng thực tế, tôi sẽ đi cho JOOSE, lớp học. – Peter
Điều này không hoạt động đối với Tài liệu. Tôi muốn tạo NMLDocument kế thừa từ Document nhưng một lỗi '[LenientThis]' lạ xuất hiện. – m93a