Monday, April 1, 2013

All Methods of Interface must be Implemented


A class which defines an Interface must implement all of its methods. If any method is missing in the implementation of that class then a compile error will come.

Below is a program where we have defined an Interface in which we declare attribute and methods meth1 and meth2. Now after defining the Interface in a class we implement only one method meth1. When we compile this program a syntax error comes with message implementation is missing for method meth2 as follows.



Here if we implement the second method then it successfully runs and produces the proper output.

*&---------------------------------------------------------------------*
*& Report  ZSR_TEST
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT  zsr_test.

*----------------------------------------------------------------------*
*       INTERFACE it
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
INTERFACE it.
  DATA v_txt TYPE char50.
  METHODS: meth1, meth2.
ENDINTERFACE.                    "it

*----------------------------------------------------------------------*
*       CLASS cls DEFINITION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS cls DEFINITION.
  PUBLIC SECTION.
    INTERFACES it.
ENDCLASS.                    "cls DEFINITION

*----------------------------------------------------------------------*
*       CLASS cls IMPLEMENTATION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS cls IMPLEMENTATION.
  METHOD it~meth1.
    it~v_txt = 'First Interface Method'.
    WRITE / it~v_txt.
  ENDMETHOD.                                                "it~meth1

  METHOD it~meth2.
    it~v_txt = 'Second Interface Method'.
    WRITE / it~v_txt.
  ENDMETHOD.                                                "it~meth2
ENDCLASS.                    "cls IMPLEMENTATION

START-OF-SELECTION.
  DATA obj TYPE REF TO cls.
  CREATE OBJECT obj.
  CALL METHOD: obj->it~meth1,
               obj->it~meth2.


The output is following:

1 comment:

Camelliacanan said...

A nice article here, i think that people who have grown up with the idea of using computers are showing more responsibility towards writing posts that are thoughtful, do not have grammar mistakes and pertinent to the post..

SAP HR Training in Chennai

SAP SD Training in Chennai

SAP Basis Training in Chennai