Tôi muốn biết toàn bộ các lựa chọn thay thế cho đa hình phụ trong scala.Các lựa chọn thay thế cho đa hình phụ trong scala là gì?
15
A
Trả lời
22
Các công cụ cơ bản để đạt được đa hình tĩnh-checkable trong Scala là
- subtyping (bog tiêu chuẩn OO polymorphism)
- Loại tham số hóa (cho phép sai đa hình và hạn chế)
- tự gõ (cho phép hạn chế và chuyên môn hóa đa hình OO)
- Chuyển đổi ngầm định (cho phép xây dựng đa hình sau thực tế)
- Kiểu kết cấu (cho phép nhiều -cấu xạ dựa trên tính năng, chứ không phải là loại)
- giới hạn loại chung (cho phép hạn chế cực kỳ chính xác trên đa hình cho phép)
- mẫu phù hợp (cho phép đa hình dựa trên cấu trúc dữ liệu, tương tự như các kiểu dữ liệu trừu tượng) các loại-kinded cao
- (cho phép đa hình trên các công trình đa hình)
Gọi tất cả các 'lựa chọn thay thế' này có lẽ là từ sai, vì chúng được tích hợp tốt. Nó không phải là không phổ biến đối với một số thuật toán đa hình được thể hiện bằng cách sử dụng một số các công cụ này kết hợp.
Nó cũng đáng chú ý là nơi hiểu thấu đáo trong đa hình Scala. Đối với sự hiểu biết không có vẻ đặc biệt đa hình. Bên dưới bề mặt, sự hiểu biết chỉ là đường cú pháp cho các cuộc gọi đến lọc/bản đồ/sơ đồ phẳng và việc triển khai các phương thức đó có xu hướng có tính đa hình cao. Vì vậy, những gì nhìn là tương đối đơn giản cho các vòng lặp có thể dẫn đến một số hiệu ứng đa hình thực sự ấn tượng.
Các vấn đề liên quan
- 1. Các lựa chọn thay thế cho thư viện đa dữ liệu cho C/C++ là gì?
- 2. Các lựa chọn thay thế cho DataGridView là gì?
- 3. Các lựa chọn thay thế cho nút radio là gì?
- 4. Các lựa chọn đa mô hình tĩnh OO định hướng tĩnh mạnh mẽ cho Scala
- 5. Một số lựa chọn thay thế cho PlayN là gì?
- 6. lựa chọn thay thế tiêm phụ thuộc
- 7. Các lựa chọn thay thế nguồn mở cho Lattix là gì?
- 8. Các lựa chọn thay thế cho java.util.Date
- 9. Một số lựa chọn thay thế pagerank là gì?
- 10. Lựa chọn thay thế cho gettext?
- 11. Lựa chọn thay thế thành viên ASP.NET là gì
- 12. Các lựa chọn thay thế cho Trình quản lý Phiên bản Ruby (rvm) là gì?
- 13. Lựa chọn thay thế cho ArcGIS Server
- 14. Lựa chọn thay thế nhẹ cho NHibernate
- 15. lựa chọn thay thế cho các điều khiển trong iPhone
- 16. Các lựa chọn thay thế cho máy ảo Java là gì?
- 17. Google không còn cho phép sử dụng WebView nữa. Các lựa chọn thay thế là gì?
- 18. Các lựa chọn thay thế miễn phí cho Google Code (lưu trữ dự án) là gì?
- 19. Các lựa chọn thay thế cho xác thực Java là gì?
- 20. Lựa chọn thay thế cho Apache Tiles
- 21. Đại diện cho trường đa lựa chọn cho các ngày trong tuần trong mô hình Django
- 22. Lựa chọn thay thế cho HtmlAgilityPack?
- 23. Lựa chọn thay thế cho MySQL
- 24. Lựa chọn thay thế cho Điều kiện
- 25. Lựa chọn thay thế cho mẫu C++?
- 26. Lựa chọn thay thế cho ppl
- 27. Lựa chọn thay thế cho popen/pclose?
- 28. Lựa chọn thay thế cho TOAD (Linux)
- 29. Các lựa chọn thay thế MapReduce
- 30. Lựa chọn thay thế cho YQL
Có lẽ chính xác hơn khi mô tả kiểu nhập cấu trúc là "dựa trên các tính năng của giá trị" hơn "hành vi [của giá trị]", vì hành vi là một thuộc tính mờ từ góc nhìn của hệ thống kiểu. –
Tôi bỏ lỡ "hỗ trợ cho các loại cao cấp" trong danh sách của bạn, đó là một trong những tính năng mạnh mẽ nhất của Scala. Tôi nghĩ rằng tài liệu tham khảo tốt nhất vẫn là giấy của Adrian Moors: http://people.cs.kuleuven.be/~adriaan.moors/files/higher.pdf – Landei
Nhận xét tuyệt vời. Chỉnh sửa. –