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