21.03.2013 Views

Object Oriented ABAP

Object Oriented ABAP

Object Oriented ABAP

SHOW MORE
SHOW LESS

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.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!