SAP NetWeaver AS ABAP Release 750, ©Copyright 2016 SAP AG. All rights reserved.ABAP - Keyword Documentation → ABAP - Reference → Declarations → Declaration Statements → Classes and Interfaces → Components in Classes and Interfaces → Implementing and including interfaces → INTERFACES →
INTERFACES - integration
In the declaration of an interface, the statement INTERFACES binds the interface intf in the declared interface. Additions cannot be specified. As a result, the interface intf becomes a component interface of a composite interface.
An interface can be composed of any number of different component interfaces. All these interfaces are equally valid and located at the same level. If a component interface itself is a composite (that is, it contains its own component interfaces), the nesting hierarchy is irrelevant for the composition of the interface. It is relevant, however, for accessing the interface components.
To access a component comp of a component interface intf
within a composite interface, the expression intf~comp can be used with the
interface component selector (~). Multiple use of the interface component
selection in a name (such as intf1~intf2~comp) is generally not supported.
In a composite interface, it is possible to use the interface component selector to access only interface
components of the component interface that are bound in this interface using the statement INTERFACES.
Since all nested interfaces are at the same level, however, all that is needed to access the interface components of all component interfaces is the name of their interface.
The following example demonstrates how the statement INTERFACES can be used to compose and implement interfaces. The class c1 implements the composite interfaces i2 and i3. Although i1 is a component interface of i2 and i3, it exists only once in class c1. A reference variable iref1 of the static type i1 is used to create an object class c1 and call method i1~m1, which is implemented there.
CLASS c1 DEFINITION.
INTERFACES: i2, i3.
CLASS c1 IMPLEMENTATION.
DATA iref1 TYPE REF TO i1.
CREATE OBJECT iref1 TYPE c1.