Constructors are methods that are not generally called explicitly (CALL METHOD or its short form), but are called implicitly.
The constructor is a special instance method in a class and is always
named CONSTRUCTOR. This abbreviated term actually means the instance constructor.
The constructor is automatically called at runtime with the CREATE OBJECT
statement. Constructors
A constructor is necessary when, after the instantiation of a class:
You need to allocate resources You need to initialize attributes You need to modify static attributes You need to send messages containing the information that a new object was created Instance Constructors
Each class can have no more than one (instance) constructor
The constructor must be defined in the public area The constructors signature can only have importing parameters and exceptions When exceptions are raised in the constructor, instances are not created, so no main memory space is occupied Except for one exceptional case, you cannot normally call the constructor explicitly There is no destructor in ABAP Objects. ZCL_VEHICLE: INSTANCE CONSTRUCTOR
ABAP SYNTAX: CONSTRUCTOR
Lets add 3 more attributes to our ZCL_VEHICLE class: Make Model N_of_vehicles
Next, we will create an instance constructor to initialize the make, model
and the color attributes of the ZCL_VEHICLE class. This constructor will also count the number of created vehicles.
Open Transaction SE24
Static Constructors
The static constructor is a special static method in a class and is always
named CLASS_CONSTRUCTOR. The static constructor is called automatically before the class is first accessed, but before any of the following actions are executed for the first time: Creating an instance of this class (CREATE OBJECT) Accessing a static attribute of this class Calling a static method of this class Registering an event handler method for an event in this class Static Constructors
Consider the following points when you define static constructors:
Each class has no more than one static constructor The static constructor must be defined in the public area The constructors signature cannot have importing parameters or exceptions The static constructor cannot be called explicitly ZCL_VEHICLE: STATIC CONSTRUCTOR
ABAP SYNTAX: CLASS_CONSTRUCTOR
We will create a static constructor to initialize the number of tires all
vehicles must posses.
Open Transaction SE24
You can address an object itself by using the predefined reference variable ME within its instance methods . E.g. ME->GET_SPEED( ) ME->MAKE
ME is required when you want to show a distinction between local
data objects and instance attributes with the same name. Practical LETS TEST CLASS ZCL_VEHICLE IN AN ABAP Example REPORT Source Code View Source Code for ZPR_TEST_VEHICLES