Đa hình tĩnh là liên kết hàm với đối tượng tại thời điểm biên dịch (compile time), còn gọi là liên kết tĩnh (static binding). C# cung cấp 2 kỹ thuật: nạp chồng hàm (Function Overloading) và nạp chồng toán tử (Operator Overloading).
Nạp chồng hàm: Cho phép nhiều định nghĩa cho cùng một tên hàm trong cùng phạm vi. Các định nghĩa phải khác nhau về kiểu và/hoặc số lượng tham số. Không thể nạp chồng chỉ khác kiểu trả về.
Ví dụ
using System;
namespace PolymorphismApplication {
class Printdata {
void print(int i) {
Console.WriteLine("In int: {0}", i);
}
void print(double f) {
Console.WriteLine("In float: {0}", f);
}
void print(string s) {
Console.WriteLine("In string: {0}", s);
}
static void Main(string[] args) {
Printdata p = new Printdata();
p.print(5);
p.print(500.263);
p.print("Hello C++");
Console.ReadKey();
}
}
}