A class is a template because it gives the preview of want we obtain using that.
Class Creation is done in 2 steps.
CLASS CL_MYCLASS DEFINITION.
CLASS CL_MYCLASS IMPLEMENTATION.
1. An object is an instance /image of class.
2. Each Object has its own memory and attributes.
3. Objects are created with the command CREATE OBJECT.
DATA OBJ TYPE REF TO CL_MYCLASS.
CREATE OBJECT OBJ.
COMPONENTS OF CLASS
Any constants, data variables declared within a class are called as attributes of the class.
• Methods contain a block of code, which provides some functionality for a class.
• These are like function modules in SAP ABAP.
• It can access all of the attributes of a class.
• Methods are defined in the definition part of a class and
Implemented in the implementation part.
• Methods are called using the CALL METHOD statement.
• 1. Events are like actions performed by the user.
• 2. Each event must be linked to a method for writing the corresponding logic for the
• Action/event raised by the user.
• 1. Interfaces are similar to classes which contain methods without any implementation.
• 2. Interfaces area mainly used to extend the scope or functionality of the class.
INSTANCE AND STATIC COMPONENTS
1. INSTANCE COMPONENTS
• 1. The components which exist separately for each instance (object) of the class are called as instance components, which mean for each object, instance components will be available separately.
• 2. These are referred using the symbol ‘->’.
2. STATIC COMPONENTS
1. The components which exist globally or fixed for all instances (objects) of the class are called as STATIC components, that means all objects with be referring to same/fixed memory.
• 2. These are referred to using the symbol ‘ =>’ .
VISIBILITY OF COMPONENTS
• PUBLIC SECTION
Anything declared under public section can be accessed by same class/outside of the class, i.e. (se38).
• PRIVATE SECTION
Data declared in the private section can be accessed by the class only, but not by its sub classes and by external users outside the class.
• PROTECTED SECT
Data declared in the protected section can be accessed by the class itself, and also by its sub classes and not by external users outside the class.
GLOBAL AND LOCAL CLASS
• Classes in ABAP Objects can be maintained either globally or locally.
Global classes and interfaces are specified in the (Transaction SE24) in the ABAP Workbench.
• All of the ABAP programs in an R/3 System can access the global classes.
Local classes are specified in an ABAP program (TCODE SE38) and can only be used in the program in which they are defined.
EXAMPLE ON CLASS
STEPS TO CREATE CLASS
1. Go to t code se24.
2. Provide the Class Name: zcl_myclass.
3. Click on Create and Provide Short Description.
4. Click on save button.
• 5.Go to attributes tab, define an attribute as below
• V_city instancepublictypechar25.
• 6. Save and Activate
• Creating instance or objects for the class
• #Creation of objects is of 2 steps
1. Declare a variable for an object or instance.
• Syntax :-< object name> Type ref to <class name>.
• Eg1:- OBJ1 type ref to ZCL_MYCLASS.
• Eg2:- OBJ2 type ref to ZCL_MYCLASS.
• 2. Next, instantiate/create copy for the object.
• Syntax: create object <object name>
• Eg1:- create object obj1.
• Eg2:- Create object obj2.
Accessing class components
• Accessing or calling class components
• To call any class component with the instance, use the below Syntax.
• Syntax: <Object name> <class-component name>
• E.g.:- OBJ1 v_city
• EXAMPLE PROGRAM
• DATA: OBJECT1 TYPE REF TO ZCL_MYCLASS,
• CREATE OBJECT OBJECT1.
• *Setting a value using object1
• OBJECT1->V_CITY = ‘MUMBAI’.
• *Printing a value using object1
• Write:/ Object1->v_city.
DATA: OBJECT2 TYPE REF TO ZCL_MYCLASS,
CREATE OBJECT OBJECT2.
*Setting a value using object1
OBJECT2->V_CITY = ‘BANGALORE’.
*Printing a value using object2
Write:/ Object2->v_city .
USING PUBLIC, PROTECTED, PRIVATE VARIABLES
• Go TCODE se24.
• Provide Class Name as ZCL_MYCLASS.
• Give Short Description.
• Declare variables and attributes as below.
Write the logic as:
CREATE OBJECT OBJ1.
OBJ1->PUB_N AME = ‘KARTHIK’. “No error because pub_name is a variable.
OBJ1->POR_N AME = ‘KARTHI’. “Error because Por_name is a protected
OBJ1->PRI_N AME = ‘KART’. “Error because Pri_name is a private Variable