Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

CASTING

Former Member
0 Likes
473

REPORT ZRAVI_05.

class ravi definition.

public section.

methods: ex IMPORTING A TYPE I B TYPE I,DISP.

DATA: D TYPE I,E TYPE I.

ENDCLASS.

CLASS RAVI IMPLEMENTATION.

METHOD EX.

D = A.

E = B.

CALL METHOD DISP( ).

ENDMETHOD.

METHOD DISP.

WRITE: / D,E.

ENDMETHOD.

ENDCLASS.

CLASS RAVI1 DEFINITION INHERITING FROM RAVI.

PUBLIC SECTION.

METHODS:EX REDEFINITION,ADD.

ENDCLASS.

CLASS RAVI1 IMPLEMENTATION.

METHOD EX.

CALL METHOD SUPER->EX( A = A B = B ).

DATA: R TYPE I.

R = A + B.

WRITE: / R.

ENDMETHOD.

METHOD ADD.

WRITE: / 'HELLO'.

ENDMETHOD.

ENDCLASS.

DATA: R_RAVI TYPE REF TO RAVI,R_RAVI1 TYPE REF TO RAVI1.

START-OF-SELECTION.

CREATE OBJECT R_RAVI.

CREATE OBJECT R_RAVI1.

R_RAVI = R_RAVI1.

R_RAVI->ex( A = 4 B = 5 ). "THIS STATEMENT WORKS GOOD

R_RAVI->ADD( ). "THIS STATEMENT IS GIVING AN ERROR

2 REPLIES 2
Read only

Former Member
0 Likes
444

The Method add belongs to Class Ravi1 and can be accessed only by object Ravi1 and Ravi so the statement for that is

R_RAVI1->ADD( ) and not R_RAVI->ADD .

Read only

Former Member
0 Likes
444

my question is about upcasting or narrow casting when the narrow casting is done how to access the method in the subcalss using the superclass object.