In reply to vvv:
the using virtual sequence base class to get the handle of sequencers into it.
It uses the inheritance concept. In above code its less flexible when you want to inherit from this sequence. when sequence is extended from example_virtual_seq , super.body() will execute the sequences of base class(example_virtual_seq.)
class extended_virtual extends example_virtual_seq;
.......
task body();
super.body() --> it needs to get the sequencer handle but it also execute sequence as it is not intended
endtask
it will be less flexible for factory override .