Overriding in C#

CsharpProgrammingServer Side Programming

Runtime polymorphism has method overriding that is also known as dynamic binding or late binding. It is implemented by abstract classes and virtual functions. Abstract classes contain abstract methods, which are implemented by the derived class.

Let us see an example of abstract classes that implement runtime polymorphism and works with Overriding −


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);
Updated on 21-Jun-2020 16:07:05