কম্পাইল টাইমে একটি ফাংশনকে একটি অবজেক্টের সাথে লিঙ্ক করার প্রক্রিয়াকে স্ট্যাটিক পলিমরফিজম বলা হয়। এটিকে স্ট্যাটিক বাইনডিংও বলা হয়। 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();
}
}
}