Entering content frame

Procedure documentationExtending Subclasses Locate the document in its SAP Library structure

Changes to subclasses are additive, that is, you cannot delete a component from a class if it was inherited from a superclass. However, you can extend a subclass as follows:

You can only redefine instance methods. Attributes, class methods, and other inherited components of a subclass cannot be redefined.
Furthermore, the methods that you want to redefine may not have been defined as final methods in the superclass. Constructor methods may not be redefined, since they are implicitly final.
A method redefinition may only extend to a new implementation of the method. The signature (names and types of the parameters) may not be changed. The interface of the redefined method must remain the same as that of the original method in the superclass.

Procedure

Adding New Components

You can define new components in all three visibility sections (public, protected, and private) of a subclass. Since both inherited and new components belong to the same namespace, you must ensure that all components in the class have unique names.
See also:

Creating Attributes

Creating Methods

Creating Events

Redefining Methods

To redefine an inherited method in a subclass:

  1. Display all the methods of the subclass.
  2. The system displays the inherited methods of all subclasses.

  3. Place the cursor on the relevant method and go to change mode.
  4. Click on This graphic is explained in the accompanying text Redefine.
  5. The ABAP source code of the original method implementation appears.

  6. Implement the method again.
  7. Check the syntax.
  8. Save your source code.
  9. Document the newly implemented method.

Result

You have now extended the class, and your new components are visible, as well as the public and protected components of the superclass.
If you redefine a method in a subclass, the corresponding original method in the superclass remains unchanged.

You can access all the components that are visible in the subclass in the same manner. You also access the inherited components from the superclass with their local names. If, however, you need to address components of the direct superclass, you can use the pseudoreference SUPER.

 

 

Leaving content frame