Invokes a constructor for the immediate super class as the first statement in a constructor of the defining class.

Syntax

SUPER ( [ parameter [ , parameter ] ... ] )
( [ parameter [ , parameter ] ... ] )

Specifies zero or more parameters passed to a PACKAGE-PRIVATE, PROTECTED, PACKAGE-PROTECTED, or PUBLIC constructor that is defined for the super class. You must provide the parameters identified by the specified constructor, matched with respect to number, data type, and mode. To invoke a constructor that is overloaded in the class, you must specify sufficient information for each parameter to disambiguate it from all other constructors in the class. Otherwise, ABL raises an error identifying the ambiguity.

For information on the parameter passing syntax and disambiguating overloaded constructors, see the Parameter passing syntax reference entry.

Notes

  • You must make sure that at least one constructor is called in each level of the class hierarchy. If there is no constructor defined in the immediate super class or there is a constructor defined that does not take parameters, you do not need to explicitly invoke it, although you can. By default, ABL will call it. However if you want to invoke a super class constructor with parameters, you must explicitly invoke it. This is normally done using SUPER as the first executable statement of the constructor. Alternatively you can call another local constructor using the THIS-OBJECT statement and then use SUPER from there.

See also

CONSTRUCTOR statement, Parameter passing syntax, THIS-OBJECT statement, SUPER system reference