In C# Dynamic Polymorphism
or Runtime Polymorphism is achieved using the concept of inheritance; the
methods defined in the base class can be overridden in the derived class and
can be called dynamically at runtime.
The following example explains Dynamic or Runtime Polymorphism.
The following example explains Dynamic or Runtime Polymorphism.
class DynamicPolymorphism
{
public virtual void Print()
{
Console.WriteLine("Printing
from Base Class.");
}
}
//
class Child1 : DynamicPolymorphism
{
public override void Print()
{
Console.WriteLine("Printing
from Child1 Class.");
}
}
//
class Child2 : DynamicPolymorphism
{
public override void Print()
{
Console.WriteLine("Printing
from Child2 Class.");
}
}
//
class DynamicPolymorphismHandler
{
public void CallFunction(DynamicPolymorphism objHandle)
{
objHandle.Print();
}
}
Now let us see on how to use dynamic Polymorphism to call the methods of the derived classes using the base class object.
DynamicPolymorphismHandler objDynamicPolymorphismHandler = new DynamicPolymorphismHandler();
Child1 objChild1 = new
Child1();
Child2 objChild2 = new
Child2();
//
objDynamicPolymorphismHandler.CallFunction(objChild1);
objDynamicPolymorphismHandler.CallFunction(objChild2);
We create instances of the derived classes and pass
them to the Handler class, but notice that the handler class takes a parameter
of the base class type. Here we can decide at runtime on what object to be
passed to the handler class. The code will execute and print the following
output.
Printing from Child1 Class.
Printing from Child2 Class.
No comments:
Post a Comment