रनटाइम पॉलीमॉर्फिज्म में मेथड ओवरराइडिंग होती है जिसे डायनेमिक बाइंडिंग या लेट बाइंडिंग के रूप में भी जाना जाता है। यह अमूर्त वर्गों और आभासी कार्यों द्वारा कार्यान्वित किया जाता है। एब्स्ट्रैक्ट क्लासेस में एब्सट्रैक्ट मेथड्स होते हैं, जिन्हें व्युत्पन्न क्लास द्वारा लागू किया जाता है।
आइए अमूर्त वर्गों का एक उदाहरण देखें जो रनटाइम बहुरूपता को लागू करते हैं और ओवरराइडिंग के साथ काम करते हैं -
उदाहरण
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(); } } }