
Introduction to Polymorphism in C#


Introduction to Polymorphism in C#
- Polymorphism in C# enables the user to invoke a Child Class Method & override the Parent Class Method, using a Parent Class Reference variable.
- In our previous lecture on Inheritance, we have also discussed method hiding and our last code is shown in below figure:

- In the above code, you can see that we have used method hiding by using new keyword with ChildClass Method.
- So, now instead of hiding the method let's override it and have a look at the results:

- In the above figure, you can see that I have used virtual keyword with Parent Class Method.
- Moreover, instead of new keyword, I have used override keyword with Child Class Method.
- I have used the same reference variables as I did for Method Hiding code, but here in the third case, the child class method is called.
- So, in Polymorphism, if the Child Class is involved in reference variable, then it will always override the Parent Class Method and will use the Child Class Method.
- So, we can say that if we want to completely override any function in Parent Class, then we need to add virtual keyword in its definition.
- This virtual Parent Class Method will always get override by any Base Class Method, which has the same name and has override keyword in its definition.
- But if we want to invoke the virtual Parent Class Method, then we have to use Parent Class reference variable.
- So, this third variable PC2 is the main difference between Method Hiding & Method Overriding (Polymorphism).
×
![]()