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

सी # में रन टाइम बहुरूपता क्या है?

रनटाइम पॉलीमॉर्फिज्म में मेथड ओवरराइडिंग होती है जिसे डायनेमिक बाइंडिंग या लेट बाइंडिंग के रूप में भी जाना जाता है। इसे अमूर्त वर्गों और आभासी कार्यों द्वारा कार्यान्वित किया जाता है।

सार कक्षाएं

एब्स्ट्रैक्ट क्लासेस में एब्सट्रैक्ट मेथड्स होते हैं, जिन्हें व्युत्पन्न क्लास द्वारा लागू किया जाता है।

आइए अमूर्त वर्गों का एक उदाहरण देखें जो रन टाइम पॉलीमॉर्फिज्म को लागू करता है -

उदाहरण

using System;

namespace PolymorphismApplication {
   abstract class Shape {
      public abstract int area();
   }

   class Rectangle: Shape {
      private int length;
      private int width;

      public Rectangle( int a = 0, int b = 0) {
         length = a;
         width = b;
      }

      public override int area () {
         Console.WriteLine("Rectangle class area :");
            return (width * length);
      }
   }

   class RectangleTester {
      static void Main(string[] args) {
         Rectangle r = new Rectangle(10, 7);
         double a = r.area();
         Console.WriteLine("Area: {0}",a);
         Console.ReadKey();
      }
   }
}

उदाहरण

Rectangle class area :
Area: 70

वर्चुअल फ़ंक्शंस

जब आपके पास किसी वर्ग में परिभाषित कोई फ़ंक्शन होता है जिसे आप विरासत में प्राप्त वर्ग (एस) में कार्यान्वित करना चाहते हैं, तो आप वर्चुअल फ़ंक्शंस का उपयोग करते हैं। वर्चुअल फ़ंक्शंस को अलग-अलग इनहेरिट की गई क्लास में अलग-अलग तरीके से लागू किया जा सकता है और इन फ़ंक्शंस को कॉल रनटाइम पर तय किया जाएगा।


  1. सी # में गतिशील बहुरूपता क्या है?

    बहुरूपता स्थिर या गतिशील हो सकती है। स्थैतिक बहुरूपता में, किसी फ़ंक्शन की प्रतिक्रिया संकलन समय पर निर्धारित की जाती है। गतिशील बहुरूपता में, यह रन-टाइम पर तय किया जाता है। गतिशील बहुरूपता अमूर्त वर्गों और आभासी कार्यों द्वारा कार्यान्वित की जाती है। निम्नलिखित एक उदाहरण है जो गतिशील बहुरूपता का ए

  1. सी # में सार कक्षाएं

    C# में एक अमूर्त वर्ग में अमूर्त और गैर-सार विधियां शामिल हैं। एक वर्ग को अमूर्त वर्ग के रूप में अमूर्त घोषित किया जाता है। आप एक अमूर्त वर्ग को तत्काल नहीं कर सकते। आइए एक उदाहरण देखते हैं, जिसमें हमारे पास एक एब्स्ट्रैक्ट क्लास व्हीकल और एब्स्ट्रैक्ट मेथड डिस्प्ले ()- है। public abstract class Veh

  1. जावा में सार वर्ग

    जिस वर्ग की घोषणा में सार कीवर्ड होता है उसे अमूर्त वर्ग के रूप में जाना जाता है। एब्स्ट्रैक्ट क्लासेस में एब्सट्रैक्ट मेथड्स हो भी सकते हैं या नहीं भी हो सकते हैं, यानी बॉडी के बिना मेथड्स ( public void get(); ) लेकिन, यदि किसी वर्ग में कम से कम एक सार विधि है, तो कक्षा को सार घोषित किया जाना चाहि