UVM_EXPORT Class Confusion

I have a question about uvm_*_export classes .

I Observe that each *_export class overrides a subset of the method in uvm_tlm_if_base .

I am not sure why is it so ?

Port N Imps override them since they are used during actual method calls

whereas a user Never calls method for an export

Any clarification would be helpful .

Thanks

In reply to MICRO_91:

The UVM TLM code is vastly overcomplicated by the fact that it was written before SV had multiple interface inheritance. You get an runtime error if you try calling a method that has not been overridden. If this was recoded using the current standard, you would be able to get a compiler error.