Quantcast
Channel: SCN : All Content - ABAP Development
Viewing all articles
Browse latest Browse all 8332

going dump for the program?

$
0
0

*&---------------------------------------------------------------------*

 

*& This code snippet implements the local calss ANIMAL and LION

 

*&---------------------------------------------------------------------*

 

REPORT  ztest_narrow_casting.

 

*

 

*----------------------------------------------------------------------*

 

* Animal Super Class defintion

 

*----------------------------------------------------------------------*

 

CLASS lcl_animal DEFINITION.

 

  PUBLIC SECTION.

 

    METHODS: hungry.

 

ENDCLASS.                    "lcl_animal DEFINITION

 

*

 

*----------------------------------------------------------------------*

 

* Lion subclass defintion

 

*----------------------------------------------------------------------*

 

CLASS lcl_lion DEFINITION INHERITING FROM lcl_animal.

 

  PUBLIC SECTION.

 

    METHODS: hungry REDEFINITION,

 

             fasting.

 

ENDCLASS.                    "lcl_lion DEFINITION

 

*

 

*

 

*----------------------------------------------------------------------*

 

* Animal Implementation

 

*----------------------------------------------------------------------*

 

CLASS lcl_animal IMPLEMENTATION.

 

  METHOD hungry.

 

    WRITE: / 'An animal is hungry'.

 

  ENDMETHOD.                    "hungry

 

ENDCLASS.                    "lcl_animal IMPLEMENTATION

 

*

 

*----------------------------------------------------------------------*

 

* Lion subclass implementation

 

*----------------------------------------------------------------------*

 

CLASS lcl_lion IMPLEMENTATION.

 

  METHOD hungry.

 

    WRITE: / 'A Lion (King of Jungle) is hungry.',

 

             'Run as fast as you can..!'.

 

  ENDMETHOD.                    "hungry

 

  METHOD fasting.

 

    WRITE: / 'Stop running. Lion is on Fasting today.'.

 

  ENDMETHOD.

 

ENDCLASS.                    "lcl_lion IMPLEMENTATION

 

 

 

*----------------------------------------------------------------------*

 

* This code shows how to use the Narrow casting

 

*----------------------------------------------------------------------*

 

START-OF-SELECTION.

 

  DATA: lo_animal TYPE REF TO lcl_animal,

 

        lo_lion   TYPE REF TO lcl_lion.

 

*

 

* ANIMAL object without NARROW casting

 

  WRITE: / 'Animal - without NARROW casting'.

 

  CREATE OBJECT lo_animal.

 

  CALL METHOD lo_animal->hungry( ).

 

  CLEAR lo_animal.

 

*

 

* ANIMAL object with NARROW CASTING

 

  SKIP 2.

 

  WRITE: / 'Animal -  NARROW casting from LION'.

 

  CREATE OBJECT lo_lion.

 

  lo_animal = lo_lion.

 

  CALL METHOD lo_animal->hungry( ).

 

*

 

* call the method FASTING must be a dynamic because FASTING is not

 

*   in the Animal

 

  CALL METHOD lo_animal->('FASTING').

 

 

my program is going dump as shown in the following picture:

2013-01-26_18h31_04.png


Viewing all articles
Browse latest Browse all 8332

Trending Articles