In reply to shatrish:
It is always legal to assign the handle of a derived class object to a base class variable. It would help to use consistent class terminology. Your use of local variable is out of context from what it means in SystemVerilog.
It would also help to show your original scenario in terms of code written in SystemVerilog.