Skip to content

ABAP Keyword Documentation →  ABAP − Reference →  Declarations →  Declaration Statements →  Classes and Interfaces →  CLASS 

CLASS - DEFINITION

Quick Reference

Other versions: 7.31 | 7.40 | 7.54

Syntax


CLASS class DEFINITION [class_options]. 
  [PUBLIC SECTION.
    [components]]
  [PROTECTED SECTION.
    [components]]
  [PRIVATE SECTION.
    [components]]
ENDCLASS.

Effect

The statement block CLASS class DEFINITION - ENDCLASS declares a class named class. Naming conventions apply to the name class. components of the class are declared between CLASS and ENDCLASS. Each component must be included in a visibility section after one of the statements PUBLIC SECTION, PROTECTED SECTION, or PRIVATE SECTION. These statements must be specified in the order above. The class does not need to include all the SECTION statements.

The class options additions of the statement CLASS can be used to publish a class globally in the class library, define an inheritance relationship, make the class abstract or final, control where the class can be instantiated, and offer friendship to other classes or interfaces.


Notes

  • The class is the smallest encapsulation unit in ABAP Objects. A method can therefore use all components of all instances of the same class apart from the components of its own instance. An exception to this rule are subclasses that cannot access the private components of superclasses if they are not their friends.
  • The declaration part of a class can only be specified in the context described under CLASS.

Example

Declaration part of a class with statements for declaring static components and instance components.

CLASS cls DEFINITION FINAL.
  PUBLIC SECTION.
    TYPES:
      type1 TYPE ...
    CLASS-DATA:
      attr1 TYPE ...
    ...
    CLASS-METHODS:
      meth1 ...
    ...
    CLASS-EVENTS:
       evt1 ...
    ...
    DATA:
      attr2 TYPE ...
    ...
    METHODS:
      meth2 ...
    ...
    EVENTS:
       evt2 ...
    ...
ENDCLASS.

Continue

CLASS - class_options

PUBLIC SECTION

PROTECTED SECTION

PRIVATE SECTION

CLASS - components