Classes in ABAP are used for specifying the templates for ABAP objects, with an abstract description and building instructions for that object.
Two types of classes are there
Global Class: These types of classes are created using class builder tool and will be available globally for all ABAP programs.
Local Class: These types of classes are created in an ABAP program and will ba available only to that program where it defined.
The main components of Classes are
- Attributes: It contains the data fields like reference variables etc.
- Instance Attributes: declare them using the DATA statement for defining the instance-specific state of an object
- Static Attributes: declare them using the CLASS-DATA statement for defining the state of the class that is valid for all instances of the class
- Methods: Contains the internal procedures to define the behavior of an Object. All the class attributed can be accesses in methods.
- Instance Methods: It declares using METHODS statement and can have access for all class attributes.
- Static Methods: It declares using CLASS-METHODS statement and have access only static attributes and trigger static events.
- Events: Objects or classes can use events to trigger event handler methods in other objects or classes. With events, the handler determines the events to which it wants to react.
- Instance Events: Defining using EVENTS statement and can be triggered only from instance methods.
- Static Events: Defining using CLASS-EVENTS statement and can be triggered from all methods.
- Types: Defining our own ABAP data types with TYPES statement inside a class.
- Constants: Special static attributes that defined using CONSTANTS statement and its value cannot be changed.
Encapsulation Methods
It specifies the external visibility for the class components.
- Public Section: It is accessible to all users of the class, and to the methods of the class and any classes that inherit from it.
- Protected Section: Same as private section from 4.5B release.
- Private Section: It is only visible in the methods of the same class.
Now let us look into the statements and its syntax for dealing local classes in ABAP programs.
Declaring a CLASS
CLASS <class> DEFINITION [PUBLIC]
[INHERITING FROM <superclass>]
[ABSTRACT]
[FINAL]
[CREATE PUBLIC|PROTECTED|PRIVATE]
[FRIENDS <cif1> <cif 2> …]
[DEFERRED]
[LOAD].
Implementing a class.
CLASS <class> IMPLEMENTATION.
Declare static attributes
CLASS-DATA <a>
Declare Class methods
CLASS-METHODS
Declare Class events
CLASS-EVENTS <evt>
Also Read : View Other ABAP Keywords & Syntax -> ABAP Transaction codes