Skip to main content

Quá tải chức năng là gì?

Quá tải chức năng là một tính năng của nhiều ngôn ngữ lập trình trong đó nhiều phương thức có thể được tạo với cùng tên nhưng với các tham số đầu vào hoặc loại trả về khác nhau.Đây là một tính năng phổ biến trong lập trình hướng đối tượng;Các hàm tạo đặc biệt có thể có nhiều biến thể quá tải khác nhau.Về cơ bản, quá tải chức năng là hữu ích khi hai chức năng làm những việc rất giống nhau và có thể lấy nhiều loại đầu vào để làm như vậy.Các hàm tạo có thể bị quá tải dễ dàng vì chúng không có loại trả về rõ ràng được chỉ định, do đó, chỉ cần thay đổi các tham số đầu vào của hàm tạo sẽ là quá tải hợp lệ. Cách đầu tiên trong đó một hàm có thể bị quá tải là bằng cách thay đổi các tham số đầu vào của nó.Ví dụ, người ta có thể xem xét một hàm gọi là Thêm lấy làm đầu vào của nó hai số.Mục đích của chức năng này là khá rõ ràng;Nó có nghĩa là tìm tổng của hai số nguyên.Tuy nhiên, nếu người ta muốn tìm tổng số floats hoặc số thập phân, thì hàm này sẽ không được áp dụng.Vì vậy, một hàm quá tải thứ hai sẽ là cần thiết, được định nghĩa là một hàm được gọi là Thêm lấy làm đầu vào của nó hai phao.Các chức năng về cơ bản thực hiện cùng một điều, nhưng quá tải chức năng là cần thiết bởi vì đầu vào của chúng khác nhau đáng kể.Sử dụng ví dụ trước, người ta có thể xem xét nếu cả hai chức năng thêm quá tải có loại trả về khoảng trống;Đó là, họ không trả lại gì.Đây vẫn là quá tải chức năng hợp lệ, nhưng các loại trả về của hai phương thức cũng có thể được thay đổi.Trong một trường hợp hợp lệ khác của quá tải, hàm Thêm có hai số có thể trả về tổng số đó và hàm thêm có hai số thập phân có thể trả về số thập phân đó. Tuy nhiên, chỉ cần thay đổi loại trả về của một hàm, tuy nhiên, không được coi là quá tải chức năng hợp lệ.Chỉ thay đổi loại trả về của một hàm dẫn đến sự mơ hồ, bởi vì nó không rõ ràng từ chữ ký phương thức mà loại trả về mong muốn.Các tham số cũng có thể được xác định một cách mơ hồ, vì vậy điều rất quan trọng đối với các chức năng quá tải được gọi là đúng.Ví dụ: nếu một người có chức năng quá tải có số lượng là tham số đầu vào của nó và một hàm khác có số thập phân dưới dạng tham số, thì ai đó sẽ vô tình gọi hàm số thập phân thay vì toàn bộ hàm số, hoặc ngược lại, vì họ có cùng tên.Nên tránh các tham số mơ hồ như thế này nếu có thể, và nếu chúng không thể, nên cẩn thận để đảm bảo rằng chức năng quá tải thích hợp được gọi vào các thời điểm thích hợp.và nó cung cấp cho mã rất nhiều sự linh hoạt.Một cân nhắc cuối cùng về các chức năng quá tải là nhận xét đầy đủ là điều cần thiết.Mặc dù có thể rõ ràng bằng các tham số đầu vào khác nhau, phiên bản của chức năng quá tải phù hợp với một tình huống cụ thể, nhưng có thể không phải lúc nào cũng rõ ràng chính xác chức năng khác với các đối tác quá tải khác của nó.