Object Oriented ABAP
Object Oriented ABAP
Object Oriented ABAP
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Demo program illustrating Simple class and Super<br />
class<br />
*&---------------------------------------------------------------------*<br />
*& Report Z_OO<strong>ABAP</strong>18 *<br />
*& *<br />
*&---------------------------------------------------------------------*<br />
*& *<br />
*& *<br />
*&---------------------------------------------------------------------*<br />
REPORT Z_OO<strong>ABAP</strong>18 .<br />
CLASS lcl_employee DEFINITION.<br />
PUBLIC SECTION.<br />
*--------------------------------------------------------------------<br />
* The public section is accesible from outside<br />
*--------------------------------------------------------------------<br />
TYPES:<br />
BEGIN OF t_employee,<br />
no TYPE i,<br />
name TYPE string,<br />
END OF t_employee.<br />
METHODS:<br />
constructor<br />
IMPORTING im_employee_no TYPE i<br />
im_employee_name TYPE string,<br />
display_employee.<br />
* Class methods are global for all instances<br />
CLASS-METHODS: display_no_of_employees.<br />
PROTECTED SECTION.<br />
*--------------------------------------------------------------------<br />
* The protected section is accessible from the class and its subclasses<br />
*--------------------------------------------------------------------<br />
* Class data are global for all instances<br />
CLASS-DATA: g_no_of_employees TYPE i.<br />
PRIVATE SECTION.<br />
*--------------------------------------------------------------------<br />
* The private section is only accessible from within the classs<br />
*--------------------------------------------------------------------<br />
DATA: g_employee TYPE t_employee.<br />
ENDCLASS.<br />
*--- LCL Employee - Implementation<br />
CLASS lcl_employee IMPLEMENTATION.<br />
METHOD constructor.<br />
g_employee-no = im_employee_no.<br />
g_employee-name = im_employee_name.<br />
g_no_of_employees = g_no_of_employees + 1.<br />
ENDMETHOD.<br />
METHOD display_employee.<br />
WRITE:/ 'Employee', g_employee-no, g_employee-name.<br />
ENDMETHOD.<br />
METHOD display_no_of_employees.