Confused virtual method down casting problem

In reply to UVM_LOVE:

You cannot override objects/components which do not belong together and have a different function.
This is not a limitation. It helps you to do bad things.
See your example here