পলিমরফিজম স্থির বা গতিশীল হতে পারে। স্ট্যাটিক পলিমরফিজম-এ, একটি ফাংশনের প্রতিক্রিয়া কম্পাইলের সময়ে নির্ধারিত হয়। গতিশীল পলিমরফিজম-এ, এটি রান-টাইমে সিদ্ধান্ত নেওয়া হয়।
কম্পাইলের সময় একটি বস্তুর সাথে একটি ফাংশনের সংযোগকে প্রারম্ভিক বাইন্ডিং বলে। একে স্ট্যাটিক বাইন্ডিংও বলা হয়। C# স্ট্যাটিক পলিমারফিজম বাস্তবায়নের জন্য দুটি কৌশল প্রদান করে। সেগুলি হল ফাংশন ওভারলোডিং এবং অপারেটর ওভারলোডিং৷
৷ফাংশন ওভারলোডিং-এ আপনার একই সুযোগে একই ফাংশনের নামের জন্য একাধিক সংজ্ঞা থাকতে পারে। ফাংশনের সংজ্ঞাটি আর্গুমেন্ট তালিকার প্রকার এবং/অথবা আর্গুমেন্টের সংখ্যা দ্বারা একে অপরের থেকে আলাদা হতে হবে।
C# −
-এ কীভাবে ফাংশন ওভারলোডিং প্রয়োগ করতে হয় তা দেখানোর একটি উদাহরণ নিচে দেওয়া হলউদাহরণ
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(); } } }
আউটপুট
Printing int: 5 Printing float: 500.263 Printing string: Hello C++