Need of function new in every object/component class

Why do we need function new() in every user defined classes extending from UVM base classes?
What will happen if we don’t define in user defined classes?

In reply to bachan21:

This is a SystemVerilog imposed requirement for any base class that defines a constructor with arguments. When extending that base class, you need a way to pass arguments to the base class constructor.

You might want to se my course on SystemVerilog OOP for UVM, especially the second section discussing how to construct extended classes.