Skip to content

ABAP Keyword Documentation →  ABAP − Reference →  Declarations →  Declaration Statements →  Classes and Interfaces →  ABAP Objects - Overview →  Inheritance 

Inheritance and Polymorphism

A subclass contains all components of all superclasses along the inheritance tree and the interfaces of methods cannot be changed. This means that a reference variable typed with reference to a superclass or with reference to an interface implemented by a superclass may contain references to objects of all subclasses of this superclass. This itself means that the content of a reference variable typed with reference to a subclass can always be assigned to reference variables typed with reference to one of its superclasses or with references the interfaces of these superclasses (known as an up cast). In particular, the target variable can always be typed with reference to the class object.

A static consumer can use a reference variable to address those components visible to it that are contained in the superclass to which the reference variable refers. This means that it cannot address any specializations that have been added to the subclasses. In dynamic accesses, however, all components can be addressed.

When an instance method is redefined in one or more subclasses, different implementations of the method can be executed after a method call using the same reference variable, depending on where the class of the referenced object is located in the inheritance tree. The property that different classes can have the same interface and can therefore be addressed using reference variables of one type is called polymorphism.

Other versions: 7.31 | 7.40 | 7.54