Corporate Training
Request Demo
Click me
Menu
Let's Talk
Request Demo

Tutorials

ABAP Object-Oriented Programming (OOP)

ABAP Object-Oriented Programming (OOP)

ABAP (Advanced Business Application Programming) Object-Oriented Programming (OOP) is a programming paradigm that allows you to model your ABAP applications using objects, classes, and methods. OOP in ABAP provides a more structured and modular approach to software development, making it easier to design, maintain, and extend complex applications. Here's an overview of key concepts and components in ABAP OOP:

1. Classes:

  • In ABAP OOP, a class is a blueprint for creating objects. It defines the structure and behavior of objects belonging to that class.
  • A class may contain attributes (data members) and methods (functions) that operate on those attributes.
  • Example of defining a class:
      CLASS z_employee DEFINITION.
  PUBLIC SECTION.
    DATA: employee_id TYPE i,
          employee_name TYPE string.

    METHODS: constructor,
             get_employee_info IMPORTING i_employee_id TYPE i,
             display_employee_info.
ENDCLASS.

 

2. Objects:

  • Objects are instances of a class. They represent real-world entities with their own unique data and behavior.
  • Objects are created from classes using constructors.
  • Example of creating an object from a class:
DATA: lo_employee TYPE REF TO z_employee.

CREATE OBJECT lo_employee.
   

 

3. Methods:

  • Methods are functions defined within a class. They define the behavior of objects belonging to that class.
  • Methods can access and manipulate the attributes of an object.
  • Example of defining methods in a class:
METHOD constructor.
  " Constructor method for initializing object.
ENDMETHOD.

METHOD get_employee_info.
  " Method to retrieve employee information.
ENDMETHOD.

METHOD display_employee_info.
  " Method to display employee information.
ENDMETHOD.
     

 

4. Inheritance:

  • Inheritance allows you to create a new class (subclass) based on an existing class (superclass).
  • Subclasses inherit attributes and methods from the superclass.
  • Subclasses can also add their own attributes and methods or override inherited methods.
  • Example of inheritance:
     CLASS z_manager DEFINITION INHERITING FROM z_employee.
  PUBLIC SECTION.
    DATA: department TYPE string.

    METHODS: constructor REDEFINITION.
ENDCLASS.

 

5. Encapsulation:

  • Encapsulation is the principle of bundling data (attributes) and methods that operate on that data within a class.
  • Access to the data is controlled through methods, providing data hiding and protection.

6. Polymorphism:

  • Polymorphism allows objects of different classes to be treated as objects of a common superclass.
  • This enables you to write more generic and flexible code.

7. Abstraction:

  • Abstraction involves defining the essential characteristics of an object while hiding irrelevant details.
  • Classes provide an abstract representation of real-world objects, focusing on what an object does rather than how it does it.

8. Interfaces:

  • Interfaces define a contract for classes. A class implementing an interface must provide implementations for the methods defined in that interface.
  • Interfaces allow you to achieve multiple inheritance-like behavior in ABAP.
  • Example of defining and implementing an interface:
INTERFACE z_printable.
  METHODS: print.
ENDINTERFACE.

CLASS z_invoice DEFINITION.
  PUBLIC SECTION.
    INTERFACES: z_printable.
ENDCLASS.

CLASS z_invoice IMPLEMENTATION.
  METHOD z_printable~print.
    " Implementation of the print method.
  ENDMETHOD.
ENDCLASS.