A (public) constructor function is automatically defined to create new instances of the
type. The constructor function has the same name and type as the UDT, takes zero arguments,
and returns a new instance of the type with the attributes set to their default value.
User-defined constructor methods can be provided by the user to initialize a newly created
instance of a structured type. Each method must have the same name as the structured
type but the parameters must be different from the system-supplied constructor. In
addition, each user-defined constructor method must differ in the number of parameters
or in the data types of the parameters. For example, we could initialize a constructor for
type PersonType as follows: