Virtual functions /tasks role in systemverilog inheritance concept?

Hi every one,

i have one basic question about inheritance concept in Systemverilog. I am clear on how the function/task will get execute with and with out virtual.

What is advantage making functions/task as virtual in base class/drived class? Can you give practical application example ?

Advance Thanks
kbkdec15