JavaScript is required

Khi xây dựng nạp chồng các hàm thì điều kiện khác nhau giữa các hàm là: kiểu dữ liệu trả về của hàm hoặc kiểu dữ liệu tham số truyền vào các hàm hoặc số lượng tham số khi truyền vào của hàm là khác nhau. Điều kiện này chỉ áp dụng khi:

A.

Các hàm này cùng được xây dựng trong một lớp

B.

Các hàm cùng được xây dựng trong một chương trình

C.

Các hàm này được xây dựng trong các lớp khác nhau

D.

Các hàm này được xây dựng trong các lớp kế thừa

Trả lời:

Đáp án đúng: A


Nạp chồng hàm (function overloading) là khả năng định nghĩa nhiều hàm cùng tên trong một phạm vi (scope), nhưng chúng phải khác nhau về kiểu dữ liệu hoặc số lượng tham số. Điều này chỉ có ý nghĩa khi các hàm này cùng nằm trong một lớp, cho phép trình biên dịch phân biệt chúng dựa trên danh sách tham số truyền vào. Do đó, đáp án đúng là "Các hàm này cùng được xây dựng trong một lớp". Các phương án khác không đúng vì: - Nếu các hàm nằm trong các lớp khác nhau, chúng không cần phải tuân theo quy tắc nạp chồng vì chúng thuộc các phạm vi khác nhau. - Các hàm trong lớp kế thừa có thể ghi đè (override) hoặc nạp chồng (overload) các hàm của lớp cha, nhưng điều kiện về kiểu dữ liệu và số lượng tham số khác nhau vẫn áp dụng trong cùng một lớp. - Việc các hàm được xây dựng trong cùng một chương trình không liên quan trực tiếp đến quy tắc nạp chồng hàm.

Câu hỏi liên quan