Sunteți pe pagina 1din 2

Demo program illustrating Simple class and Super class

By Vikram Chellappa
*&---------------------------------------------------------------------*
*& Report Z_OOABAP18
*
*&
*
*&---------------------------------------------------------------------*
*&
*
*&
*
*&---------------------------------------------------------------------*
REPORT Z_OOABAP18
.
CLASS lcl_employee DEFINITION.
PUBLIC SECTION.
*-------------------------------------------------------------------* The public section is accesible from outside
*-------------------------------------------------------------------TYPES:
BEGIN OF t_employee,
no TYPE i,
name TYPE string,
END OF t_employee.
METHODS:
constructor
IMPORTING im_employee_no TYPE i
im_employee_name TYPE string,
display_employee.
*
Class methods are global for all instances
CLASS-METHODS: display_no_of_employees.
PROTECTED SECTION.
*-------------------------------------------------------------------* The protecetd section is accesible from the class and its subclasses
*-------------------------------------------------------------------*
Class data are global for all instances
CLASS-DATA: g_no_of_employees TYPE i.
PRIVATE SECTION.
*-------------------------------------------------------------------* The private section is only accesible from within the classs
*-------------------------------------------------------------------DATA: g_employee TYPE t_employee.
ENDCLASS.
*--- LCL Employee - Implementation
CLASS lcl_employee IMPLEMENTATION.
METHOD constructor.
g_employee-no = im_employee_no.
g_employee-name = im_employee_name.
g_no_of_employees = g_no_of_employees + 1.
ENDMETHOD.
METHOD display_employee.
WRITE:/ 'Employee', g_employee-no, g_employee-name.
ENDMETHOD.
METHOD display_no_of_employees.
WRITE: / 'Number of employees is:', g_no_of_employees.
ENDMETHOD.

ENDCLASS.
************************************************************************
* R E P O R T
*********************************************************************
DATA: g_employee1 TYPE REF TO lcl_employee,
g_employee2 TYPE REF TO lcl_employee.
START-OF-SELECTION.
CREATE OBJECT g_employee1
EXPORTING im_employee_no = 1
im_employee_name = 'Vikram.C'.
CREATE OBJECT g_employee2
EXPORTING im_employee_no = 2
im_employee_name = 'Raghava.V'.
CALL METHOD g_employee1->display_employee.
CALL METHOD g_employee2->display_employee.

S-ar putea să vă placă și