When to use Method Overriding & Method Hiding using real time example
When to Use:
When we want different implementation in all derived classes and base class with default implementation, so if any derived class does not have there own implementation then default base class method will be called.
namespace OverridingExample
{
//Base Class
class Shape
{
//Method to be overridden in derive class
public virtual void CalculateArea()
{
//Default Implemention.
Console.WriteLine(" Default Area Calculated.");
}
}
//Child Class
class Circle: Shape
{
public override void CalculateArea()
{
Console.WriteLine("Circle Area Calculated.");
}
}
class Rectangle: Shape
{
public override void CalculateArea()
{
Console.WriteLine("Rectangle Area Calculated");
}
}
//Class Square does not override method CalculateaArea
class Square : Shape
{
}
class Program
{
static void Main(string[] args)
{
// Creating Object of circle class
Shape shape1 = new Circle();
shape1. CalculateArea();
// Creating Object of rectangle class
Shape shape2 = new Ractangel();
shape2. CalculateArea();
// Creating Object of Square class -> Square class does not have override method, so it will take default implementation of Base class
Shape shape3 = new Square();
shape3.CalculateArea();
Console.ReadLine();
}
}
}
No comments:
Post a Comment