Virtual And Override Methods C# with Example
using System; namespace CSharpInterface { abstract class Shape { public double dim1, dim2; public Shape(double dimension1, double dimension2) { dim1 = dimension1; dim2 = dimension2; } abstract public double area(); } class Rectangle : Shape { public Rectangle(double dimension1, double dimension2) : base(dimension1, dimension2) { } override public double area() { Console.WriteLine("\nInside Area for Rectangle : "); return dim1 * dim2; } } class Triangle : Shape { public Triangle(double dimension1, double dimension2) : base(dimension1, dimension2) { } override public double area() { Console.WriteLine("\nInside Area for Triangle : "); return dim1 * dim2 / 2; } } class AbstractClass { public static void Main(string[] args) { Rectangle newRectangle = new Rectangle(6, 7); Triangle newTriangle = new Triangle(12, 23); Shape referenceShape; referenceShape = newRectangle; Console.WriteLine("Area is " + referenceShape.area()); referenceShape = newTriangle; Console.WriteLine("Area is " + referenceShape.area()); } } }