2007 Jan 24 8:29 AM
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
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.
2007 Jan 24 9:30 AM
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 .
2007 Jan 24 11:08 AM
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.
| User | Count |
|---|---|
| 6 | |
| 2 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |