In reply to vivekbalanandan:
Hi,
I am not sure that I fully understand what you are doing, but I would recommend to switch macro uvm_object_utils(basic_sequence_item) to
uvm_object_param_utils(basic_sequence_item) and correctly pass the parameters.
I would also expect that your child class should have the same parameters and that they are set to the same values.
As for the monitor not having to acces to the fields, I try to use set/get function wheneevr I can. In that way if I want to set value inside the class, I do not call myClass.data = 0 but myClass.set_data(0). Such method can be inherited.
Best Regards,
Jan