Using virtual/abstract and override keywords.
Polymorphism means different behavior.
Eg: Shape having method Draw()
Square derived from Shape overrides the Draw() method
Circle derived from Shape overrides the Draw() method
We can use the virtual/abstract keyword to declare the Draw()
method in the base Shape class.
Then we can use the override keyword in Square/Circle class to
implement the Draw() method.