C# hỗ trợ phương thức nạp chồng với một vài dạng phương thức khác nhau
về những đặc tính sau: tên, số lượng thông số, và kiểu thông số. Nhưng
nó không hỗ trợ những thông số mặc định như C++ và VB. Một cách đơn giản
là bạn khai báo những phương thức cùng tên nhưng khác số lượng và kiểu
của thông số.
Method Overloading xuất hiện khi trong một class có từ hai hàm có cùng tên. Có hai kiểu Method Overloading:
Method Overloading xuất hiện khi trong một class có từ hai hàm có cùng tên. Có hai kiểu Method Overloading:
- Function Overloading dựa trên kiểu giá trị tham số truyền vào.
- Function Overloading dựa trên số lượng tham số truyền vào.
Ví dụ
class Library
{
// Function Overloading
public void insertbooks(int
id)
{
//
}
public void insertbooks(int
id, int type)
{
//
}
public void insertbooks(string
id, int type)
{
//
}
}
|
- Bởi vì C# không hỗ trợ những thông số tùy chọn nên bạn cần sử dụng những phương thức nạp chồng để đạt được cùng một hiệu quả:
class MyClass
{
int DoSomething(int x) // Gọi hàm 2 tham số với một giá trị mặc định là 10;
{
DoSomething(x, 10);
}
int DoSomething(int x, int y)
{
// Làm một điều gì đó ở đây :D
}
}
- Trong bất kỳ một ngôn ngữ nào, phương thức nạp chồng có thể đem đến một lỗi nghiêm trọng nếu nó bị gọi sai. Trong chương tới ta sẽ bàn cách để tránh đều đó. Trong C# có một vài điểm khác nhỏ về thông số trong các phương thức nạp chồng cần biết như sau:
- Nó không chấp nhận hai phương thức chỉ khác nhau về kiểu trả về.
- Nó không chấp nhận hai phương thức chỉ khác nhau về đặc tính của một thông số đang được khai báo như ref hay out.
0 comments:
Đăng nhận xét