Why run_phase is virtual in driver class?

In reply to VK_18:

Hi all,
Why we mention run_phase as virtual in driver class?
I saw some driver classes in my erliear projects there they mentioned run_phase as virtual. There is know extension of ips_driver class(i.e. ips_driver extends from uvm_driver ).
Can u give some scenarios or examples what is purpose of virtual used in run_phase.
Thanks in advance

The run_phase task is declared as virtual in uvm_component. Then in all derived class which extend from uvm_component (including uvm_driver or its derived class), this task is always treated as virtual no matter what you declare it with virtual keyword or not.