Tính đa hình có thể là tĩnh hoặc động. Trong đa hình tĩnh, phản hồi đối với một hàm được xác định tại thời điểm biên dịch. Trong đa hình động, nó được quyết định tại thời điểm chạy.
Liên kết của một hàm với một đối tượng trong thời gian biên dịch được gọi là liên kết sớm. Nó còn được gọi là ràng buộc tĩnh. C # cung cấp hai kỹ thuật để triển khai tính đa hình tĩnh. Chúng là quá tải hàm và quá tải toán tử.
Trong quá trình nạp chồng hàm, bạn có thể có nhiều định nghĩa cho cùng một tên hàm trong cùng một phạm vi. Định nghĩa của hàm phải khác nhau theo kiểu và / hoặc số lượng đối số trong danh sách đối số.
Sau đây là một ví dụ cho thấy cách thực hiện nạp chồng hàm trong C # -
Ví dụ
using System; namespace PolymorphismApplication { class Printdata { void print(int i) { Console.WriteLine("Printing int: {0}", i ); } void print(double f) { Console.WriteLine("Printing float: {0}" , f); } void print(string s) { Console.WriteLine("Printing string: {0}", s); } static void Main(string[] args) { Printdata p = new Printdata(); // Call print to print integer p.print(5); // Call print to print float p.print(500.263); // Call print to print string p.print("Hello C++"); Console.ReadKey(); } } }
Đầu ra
Printing int: 5 Printing float: 500.263 Printing string: Hello C++