메뉴 건너뛰기

SAP 한국 커뮤니티

[re] 질문입니다~~

구본찬 2007.02.06 12:24 조회 수 : 2448 추천:138

아무래도 코드를 보시면서 이해하시는게 좋을 거 같네요
간단한 예제프로그램 보시고 이해하세요.
개념은 답변하신 분이 잘 말씀해주셔서 더 이상 말씀드릴 게 없는거 같구요.
궁금하신 사항은 제가 원문에다가 답글 달아 드렸습니다.
참고하세요.

*&---------------------------------------------------------------------*
*& Report  ZLER9996                                                    *
*&                                                                     *
*&---------------------------------------------------------------------*
*&                                                                     *
*&                                                                     *
*&---------------------------------------------------------------------*

REPORT  ZLER9996                                                    .

* Class Declarations

CLASS vehicle DEFINITION INHERITING FROM object.
  PUBLIC SECTION.
    METHODS: accelerate,
             write_status.
  PROTECTED SECTION.
    DATA speed TYPE i.
ENDCLASS.

CLASS plane DEFINITION INHERITING FROM vehicle.
  PUBLIC SECTION.
    METHODS: rise,
             write_status REDEFINITION.
  PROTECTED SECTION.
    DATA altitude TYPE i.
ENDCLASS.

CLASS ship DEFINITION INHERITING FROM vehicle.
  PUBLIC SECTION.
    METHODS write_status REDEFINITION.
ENDCLASS.

* Class Implementations

CLASS vehicle IMPLEMENTATION.
  METHOD accelerate.
    speed = speed + 1.
  ENDMETHOD.
  METHOD write_status.
    WRITE: / 'Speed:', speed.
  ENDMETHOD.
ENDCLASS.

CLASS plane IMPLEMENTATION.
  METHOD rise.
    altitude = altitude + 1.
  ENDMETHOD.
  METHOD write_status.
    WRITE / 'Plane:'.
    CALL METHOD super->write_status.
    WRITE: / 'Altitude:', altitude.
  ENDMETHOD.
ENDCLASS.

CLASS ship IMPLEMENTATION.
  METHOD write_status.
    WRITE: / 'Ship speed:', speed.
  ENDMETHOD.
ENDCLASS.

* Global Data

DATA: plane_ref TYPE REF TO plane,
      ship_ref TYPE REF TO ship.

* Classical Processing Blocks

START-OF-SELECTION.

  CREATE OBJECT: plane_ref,
                 ship_ref.

  CALL METHOD: plane_ref->accelerate,
               plane_ref->rise,
               plane_ref->write_status,
               ship_ref->accelerate,
               ship_ref->write_status.

결과 값은 아시는대로
Plane:
Speed:          1
Altitude:          1
Ship speed:          1
형태로 출력됩니다.

백문이 불여일견이라 한번 위의 코딩대로 한번
이해해보세요.
번호 제목 글쓴이 날짜 조회 수
467 report 프로그램에서 set cursor field.... 안먹히나요? [2] SkyDream 2007.07.22 3137
466 Table Control 에서 필드 정렬을 센터로 하려면 ? [2] 울프천사 2007.07.20 2792
465 스마트폼에서 글자 가운데 정렬과 글자크기조정 [1] mean 2007.07.20 4260
464 Background (Batch Job) 에 설정한 Selection Screen의 Variant 는 어디서 볼수 있을까요? [1] file 김윤승 2007.07.20 5542
463 ALV 스크린에서 라인을 클릭시 저장, 삭제에 관한 질문입니다. [2] 초보생 2007.07.20 2424
462 입력창 에 대해서 [3] 하늘만 2007.07.20 1960
461 BDC 관련 질문입니다. bd 2007.07.20 1875
460 TABLE CONTROL 에 대한 질문입니다. [2] 하늘만 2007.07.20 1671
459 구매요청필드 바꾸는 바피 사용해보신 분 계신가요? 노력&성장 2007.07.19 1751
458 스마트롬 페이지 표시가 10페이지 이상을 선택하면 *로 나와요~ [1] 노력&성장 2007.07.19 1779
457 UPLOAD FUCTION 을 GUI_UPLOAD 로 바꾼후 화일이 선택이 안되네요. [3] bd 2007.07.19 1756
456 ALV 스크린에서 행삭제 버튼에 대한 질문입니다. [3] 초보생 2007.07.19 2800
455 [질문] SM37에서 각종 배치잡들을 확인가능한데...특히 active 표시나는 부분을 확인할 방법 나도아밥퍼 2007.07.19 2795
454 아밥으로 타유닉스서버의 프로그램에 명령어를 줄수 있나요? [2] 권민성 2007.07.19 2055
453 db 인덱스 거는 거를 알고 싶습니다. [3] 들아쿠라 2007.07.19 1906
452 BAPI_FIXEDASSET_CHANGE 정영숙 2007.07.19 2440
451 현재 시간을 가져올려면 어떻게 해야하나요? [1] 노력&성장 2007.07.18 5529
450 ALV 스크린에서 삭제에 관한 질문입니다. [1] 초보생 2007.07.18 1694
449 Pc에 존재하는 File 의 codepage를 알수 있는 방법이 있을까요? bd 2007.07.18 2147
448 CL_GUI_FRONTEND_SERVICES=>GUI_UPLOAD [3] file bd 2007.07.18 3717