Tôi đọc rằng Dart không hỗ trợ quá tải hàm. Nó có hỗ trợ quá tải cho nhà điều hành không. Nếu có, sẽ tử tế và chỉ cho tôi cách làm một ví dụ đơn giản như thế nào. Và một số lợi thế là gì, tôi mới lập trình. Cảm ơn.Phi tiêu hỗ trợ quá tải toán tử
Trả lời
Có Dart hỗ trợ quá tải toán tử bằng cách sử dụng toán tử theo sau bởi toán tử bạn muốn quá tải. Ví dụ sau quá tải == điều hành cho các đối tượngMyClass:
class MyClass {
operator ==(MyClass other) {
// compare this to other
}
}
hầu hết các nhà khai thác Darts built-in có thể bị quá tải với một vài trường hợp ngoại lệ đáng chú ý là toán tử gán =
và tài liệu tham khảo tương đương toán tử
===
(không tồn tại nữa).
Đối với lợi thế là nhà khai thác quá tải nó cho phép bạn sử dụng lại các nhà khai thác có một ý nghĩa ngữ nghĩa nổi tiếng như == hoặc + cho các hoạt động trên các đối tượng của bạn. Ví dụ nếu bạn có một lớp Matrix rằng quá tải toán tử + sau đó bạn có thể thêm hai ma trận bằng cách sử dụng cú pháp m1 + m2 thay vì cồng kềnh hơn m1.plus (m2)
có thể cho tôi biết nếu 'khác' là bất cứ điều gì đặc biệt hoặc nó có thể được đặt tên khác. Giống như == (MyClass ggg) –
@MuhammadUmer khác có thể được đặt tên bất cứ thứ gì, chỉ tên tham số của đối tượng lớp mà bạn so sánh với nghĩa là == khác hoặc this + khác –
Đối số phải là cùng loại hay người ta có thể tạo ra các toán tử như toán tử List cons của Scala ::, trong đó kiểu bên trái là kiểu phần tử để tạo đầu mới, và kiểu bên phải là kiểu List? – pohl
Để mở rộng Lars' câu trả lời, bạn cũng có thể khai thác quá tải bằng cú pháp hàm nội tuyến.
class MyClass {
operator ==(MyClass o) => id == o.id;
}
- 1. Liệu toán tử hỗ trợ Java có quá tải không?
- 2. toán tử [] = quá tải?
- 3. Quá tải toán tử
- 4. C++: Toán tử quá tải =
- 5. C++ toán tử == quá tải
- 6. quá tải toán tử ->
- 7. Quá trình toán tử C++ quá tải
- 8. C có hỗ trợ quá tải không?
- 9. Delphi hỗ trợ các loại quá tải nào?
- 10. Toán tử quá tải trong F #: (/)
- 11. Toán tử gán quá tải trong C++
- 12. Quá tải toán tử + = sự kiện
- 13. Toán tử quá tải + trong C++
- 14. Toán tử gán chồng quá tải C++
- 15. Quá tải toán tử trong .NET
- 16. Scala: phương thức \ toán tử quá tải
- 17. Quá tải php bằng toán tử
- 18. Quá tải toán tử trong C++
- 19. Quá tải toán tử trong Java
- 20. C++ quá tải toán tử cheatsheet
- 21. Tải tập lệnh phi tiêu động bằng phi tiêu
- 22. Quá tải toán tử toàn cầu mới/xóa trong C++
- 23. LINQ: Toán tử truy vấn 'ElementAtOrDefault' không được hỗ trợ
- 24. EL có hỗ trợ các phương pháp quá tải không?
- 25. Phương thức hỗ trợ Php có quá tải
- 26. quá tải << toán tử và lớp kế thừa
- 27. C++ quá tải toán tử, xác định tiêu cực của đối tượng
- 28. C++ quá tải nhiều toán tử cho cùng một toán tử
- 29. Quá tải toán tử nhị phân trên lớp templated
- 30. Quá tải toán tử trên các mẫu lớp
bạn đã đọc ở đâu * Dart không hỗ trợ quá tải chức năng *? –