Type_id::create

Hi,

I came across the following statements while learning OVM regarding "create" method:

class my_component extends base_component;
my_driver driver;

function build();
driver = my_driver::type_id::create(“driver”,this);

endfunction
endclass

And the explanation was :: “The
type_id::create()method is a type-specific static method that returns an instance of the
desired type (in this case, my_driver) from the factory. The arguments to create()are the
same as the standard constructor arguments, a string name and a parent component.The
use of the factory allows the developer to derive a new class extended from my_driver and
cause the factory to return the extended type in place of my_driver. Thus, the parent
component can use the new type without modifying the parent class
.”

It says
So, my question is, suppose if u want to create an object for parent class(base_component, FYI base_component is extended from ovm_component) considering there is a program block after this, how do u do that and if some extra methods are added to child class, is it possible for object of parent class to access newly added method?