INTERFACES intf
{ {[ABSTRACT METHODS meth1 meth2 ... ]
[FINAL METHODS meth1 meth2 ... ]}
| [ALL METHODS {ABSTRACT|FINAL}] }
[DATA VALUES attr1 = val1 attr2 = val2 ...].
1. ... ABSTRACT METHODS meth1 meth2 ...
2. ... FINAL METHODS meth1 meth2 ...
3. ... ALL METHODS {ABSTRACT|FINAL}
4. ... DATA VALUES attr1 = val1 attr2 = val2 ...
In the public visibility area, the statement INTERFACES implements the interface intf in the class. Additions can also be defined to determine the properties of interface components in the class.
All local or global interfaces visible at this position can be specified for
intf. The components of the interfaces become public components of the class after the implementation.
An interface component called comp has the name
intf~comp in the class, where intf is the name
of the interface and the character ~ is the interface
component selector. A class must implement all methods of the interface in its implementation part unless they are declared as abstract.
... ABSTRACT METHODS meth1 meth2 ...
... FINAL METHODS meth1 meth2 ...
Individual instance methods meth of the interface can
be made abstract or final in the implemented class using the additions ABSTRACT
METHODS and FINAL METHODS. The same rules apply
as for the additions ABSTRACT and
FINAL of the statement METHODS.
The entire class must be abstract when you make an interface method abstract and no interface method
can be listed after ABSTRACT METHODS and FINAL METHODS at the same time.
... ALL METHODS {ABSTRACT|FINAL}
Instead of making individual interface methods abstract or final, you can use the addition
ALL METHODS {ABSTRACT|FINAL} to make all interface methods either abstract or final.
... DATA VALUES attr1 = val1 attr2 = val2 ...
You can use the addition DATA VALUES to assign initial
values to individual attributes attr. This addition has
the same function for instance attributes as the addition VALUE
of the statement DATA for
internal class attributes. If you declare a constant with the statement
CONSTANTS in the interface, you cannot list it after the addition DATA VALUES.