Uvm doubts

hi i am not getting why we use virtual task run phase , we can simply use simple task instead of using virtual task run phase in uvm testbench. Since we are extending only from the uvm base classes, we can use simple task declaration instead of declaring them as virtual task or virtual function.
thanks
abhinav

In reply to agoel:

In the UVM base class run_phase is declared as virtual task. When we are extending this bas class the run_phase tasks inherits the virtual property even if we do not declare it as virtual. But it is a good coding style to declare the run_phase as virtual in the extended class.