कंपाइल टाइम के दौरान किसी फ़ंक्शन को ऑब्जेक्ट से लिंक करने की प्रक्रिया को अर्ली बाइंडिंग कहते हैं। इसे स्टैटिक बाइंडिंग भी कहा जाता है। 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++