Invoking overridden superclass methods
Sometimes within a class you need to invoke an overridden superclass method instead of invoking a method that has the same signature and is defined in the current class.
For example, suppose that the CheckingAccount class overrides
the debit
instance method defined in its immediate
superclass,
Account. You could invoke the Account debit
method
within a method in the CheckingAccount class
by coding this statement:
Invoke Super "debit" Using By Value amount.
You would define amount
as PIC S9(9) BINARY
to
match the signature of the debit
methods.
The CheckingAccount class overrides the print
method
that is defined in the Account class. Because
the print
method has no formal parameters, a method
in the
CheckingAccount class could invoke the superclass print
method
with this statement:
Invoke Super "print".
The keyword SUPER
indicates that you want to invoke
a superclass
method rather than a method in the current class. (SUPER
is
an implicit reference to the object used in the
invocation of the currently executing method.)