REPORT ZTEST005. *----------------------------------------------------------------------* * CLASS person DEFINITION *----------------------------------------------------------------------* * *----------------------------------------------------------------------* CLASS PERSON DEFINITION. PUBLIC SECTION. METHODS: CONSTRUCTOR IMPORTING ID TYPE STRING NAME TYPE STRING, GET_ID RETURNING VALUE(ID) TYPE STRING, GET_NAME RETURNING VALUE(NAME) TYPE STRING, LEARN. PROTECTED SECTION. DATA: ID TYPE STRING, NAME TYPE STRING. ENDCLASS. "person DEFINITION *----------------------------------------------------------------------* * CLASS teacher DEFINITION *----------------------------------------------------------------------* * *----------------------------------------------------------------------* CLASS TEACHER DEFINITION INHERITING FROM PERSON. PUBLIC SECTION. METHODS:TEACH,LEARN REDEFINITION. PROTECTED SECTION. DATA COURSE TYPE STRING VALUE 'Java & ABAP'. ENDCLASS. "teacher DEFINITION *----------------------------------------------------------------------* * CLASS student DEFINITION *----------------------------------------------------------------------* * *----------------------------------------------------------------------* CLASS STUDENT DEFINITION INHERITING FROM PERSON. PUBLIC SECTION. METHODS: PLAY,LEARN REDEFINITION. PROTECTED SECTION. DATA COURSE TYPE STRING VALUE 'Java & ABAP'. ENDCLASS. "student DEFINITION *----------------------------------------------------------------------* * CLASS person IMPLEMENTATION *----------------------------------------------------------------------* * *----------------------------------------------------------------------* CLASS PERSON IMPLEMENTATION. METHOD CONSTRUCTOR. ME->ID = ID. ME->NAME = NAME. ENDMETHOD. "constructor METHOD GET_ID. ID = ME->ID. ENDMETHOD. "get_id METHOD GET_NAME. NAME = ME->NAME. ENDMETHOD. "get_name METHOD LEARN. WRITE: / 'A person can learn'. ENDMETHOD. "learn ENDCLASS. "person IMPLEMENTATION *----------------------------------------------------------------------* * CLASS teacher IMPLEMENTATION *----------------------------------------------------------------------* * *----------------------------------------------------------------------* CLASS TEACHER IMPLEMENTATION. METHOD TEACH. WRITE: / 'I am teacher' , NAME, 'I can teach', COURSE. ENDMETHOD . "teach METHOD LEARN. WRITE: / 'I am teacher', NAME, 'I learn all by myself'. ENDMETHOD. "learn ENDCLASS. "teacher IMPLEMENTATION *----------------------------------------------------------------------* * CLASS student IMPLEMENTATION *----------------------------------------------------------------------* * *----------------------------------------------------------------------* CLASS STUDENT IMPLEMENTATION. METHOD PLAY. WRITE: / 'I am student', NAME, 'I often play games'. ENDMETHOD. "play METHOD LEARN. WRITE: / 'I am student', NAME, 'I learn ', COURSE, 'from the teaher'. ENDMETHOD. "learn ENDCLASS. "student IMPLEMENTATION DATA: TEACHER_REF TYPE REF TO TEACHER, STUDENT_REF TYPE REF TO STUDENT. START-OF-SELECTION. CREATE OBJECT: TEACHER_REF EXPORTING ID = 'T001' NAME = 'Bob', STUDENT_REF EXPORTING ID = 'S002' NAME = 'Yom'. CALL METHOD : TEACHER_REF->TEACH, TEACHER_REF->LEARN, STUDENT_REF->PLAY, STUDENT_REF->LEARN.
网友评论