Why would you declare a method as \"virtual\".
What is the benefit in using virtual?
This link will provide you a better understanding with very easy example https://stackoverflow.com/a/2392656/3373865
Virtual methods are similar to abstract methods in base classes except their implementation on derived classes is optional. Also you could put logic in virtual method and override these in derived classes.