INTERFACES - ABSTRACT, FINAL, DATA VALUES

Syntax

INTERFACES intf
  { {[ABSTRACT METHODS meth1 meth2 ... ]
     [FINAL METHODS meth1 meth2 ... ]}
  | [ALL METHODS {ABSTRACT|FINAL}] }
  [DATA VALUES attr1 = val1 attr2 = val2 ...].

Extras:

1. ... ABSTRACT METHODS meth1 meth2 ...

2. ... FINAL METHODS meth1 meth2 ...

3. ... ALL METHODS {ABSTRACT|FINAL}

4. ... DATA VALUES attr1 = val1 attr2 = val2 ...

Effect

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.

Addition 1

... ABSTRACT METHODS meth1 meth2 ...

Addition 2

... FINAL METHODS meth1 meth2 ...

Effect

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.

Addition 3

... ALL METHODS {ABSTRACT|FINAL}

Effect

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.

Addition 4

... DATA VALUES attr1 = val1 attr2 = val2 ...

Effect

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.

Notes