Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> C#

C# में स्टैटिक पॉलीमॉर्फिज्म क्या है?


परिचय

स्टैटिक पॉलीमॉर्फिज्म (Static Polymorphism) को कंपाइल-टाइम पॉलीमॉर्फिज्म या अर्ली बाइंडिंग भी कहते हैं। इसमें फंक्शन कॉल कंपाइल टाइम पर ही रिजॉल्व हो जाता है। C# में इसे दो तकनीकों द्वारा लागू किया जाता है:

  1. फंक्शन ओवरलोडिंग (Function Overloading)
  2. ऑपरेटर ओवरलोडिंग (Operator Overloading)

फंक्शन ओवरलोडिंग

एक ही नाम के कई मेथड एक ही स्कोप में परिभाषित किए जा सकते हैं, बशर्ते उनके पैरामीटर लिस्ट अलग हों (प्रकार या संख्या में)। केवल रिटर्न टाइप के आधार पर ओवरलोडिंग नहीं की जा सकती।

उदाहरण

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();
            p.print(5);           // int वर्जन कॉल होता है
            p.print(500.263);     // double वर्जन कॉल होता है
            p.print("Hello C#");  // string वर्जन कॉल होता है
            Console.ReadKey();
        }
    }
}

मुख्य बिंदु

  • ओवरलोडिंग के लिए मेथड सिग्नेचर (नाम + पैरामीटर लिस्ट) अद्वितीय होना चाहिए।
  • कंपाइलर कॉल साइट पर आर्गुमेंट के आधार पर सही मेथड चुनता है।
  • यह रनटाइम पॉलीमॉर्फिज्म (वर्चुअल मेथड) से तेज़ होता है क्योंकि कोई लुकअप नहीं होता।
  1. - C# क्लास के स्टैटिक मेंबर्स क्या हैं

    हम static कीवर्ड का उपयोग करके क्लास मेंबर्स को स्टैटिक के रूप में परिभाषित कर सकते हैं। जब हम क्लास के किसी मेंबर को स्टैटिक घोषित करते हैं, तो इसका मतलब है कि क्लास के कितने भी ऑब्जेक्ट्स बनाए जाएं, स्टैटिक मेंबर की केवल एक कॉपी मौजूद होती है। कीवर्ड static का तात्पर्य है कि क्लास के लिए मेंबर का

  1. - C# में डायनामिक पॉलीमॉर्फिज्म क्या है

    पॉलीमॉर्फिज्म स्टैटिक या डायनामिक हो सकता है। स्टैटिक पॉलीमॉर्फिज्म में, किसी फ़ंक्शन की प्रतिक्रिया कंपाइल टाइम पर निर्धारित होती है। डायनामिक पॉलीमॉर्फिज्म में, यह रनटाइम पर तय होता है। डायनामिक पॉलीमॉर्फिज्म एब्स्ट्रैक्ट क्लासेस और वर्चुअल फ़ंक्शन्स द्वारा इम्प्लीमेंट किया जाता है। निम्नलिखित डाय

  1. - पायथन में print() फ़ंक्शन क्या करता है?

    पायथन 3 में, print() एक बिल्ट-इन फ़ंक्शन (ऑब्जेक्ट) है जिसका उपयोग हम जो आर्गुमेंट देते हैं उसे स्क्रीन पर प्रिंट करने के लिए किया जाता है। उदाहरण के लिए, >>> print(Hello!) Hello! >>> print(5) 5 इससे पहले, print एक स्टेटमेंट था। इसका उपयोग निम्न तरीके से किया जा सकता था: >>&