Polymorphism in C#
Polymorphism means the same operation may behave differently on different classes.
Example of Compile Time Polymorphism: Method Overloading
Example of Run Time Polymorphism: Method Overriding
Example of Compile Time Polymorphism
Method Overloading: Method with same name but with different arguments is called method overloading.
Method Overloading forms compile-time polymorphism.
Example of Method Overloading
class A1
{
void hello()
{
Console.WriteLine("Hello");
}
void hello(string s)
{
Console.WriteLine("Hello {0}", s);
}
}
Example of Run Time Polymorphism
Method Overriding: Method overriding occurs when child class declares a method that has the same type arguments as a method declared by one of its superclass.
Method overriding forms Run-time polymorphism.
Note
By default functions are not virtual in C# and so you need to write “virtual” explicitly. While by default in Java each function are virtual.
Example of Method Overriding
Class parent
{
virtual void hello()
{
Console.WriteLine("A D Patel");
}
}
Class child: parent
{
override void hello()
{
Console.WriteLine("R A Patel");
}
}
static void main()
{
parent objParent = new child();
objParent.hello();
}
Polymorphism means the same operation may behave differently on different classes.
Example of Compile Time Polymorphism: Method Overloading
Example of Run Time Polymorphism: Method Overriding
Example of Compile Time Polymorphism
Method Overloading: Method with same name but with different arguments is called method overloading.
Method Overloading forms compile-time polymorphism.
Example of Method Overloading
class A1
{
void hello()
{
Console.WriteLine("Hello");
}
void hello(string s)
{
Console.WriteLine("Hello {0}", s);
}
}
Example of Run Time Polymorphism
Method Overriding: Method overriding occurs when child class declares a method that has the same type arguments as a method declared by one of its superclass.
Method overriding forms Run-time polymorphism.
Note
By default functions are not virtual in C# and so you need to write “virtual” explicitly. While by default in Java each function are virtual.
Example of Method Overriding
Class parent
{
virtual void hello()
{
Console.WriteLine("A D Patel");
}
}
Class child: parent
{
override void hello()
{
Console.WriteLine("R A Patel");
}
}
static void main()
{
parent objParent = new child();
objParent.hello();
}
0 comments:
Post a Comment