REPORT Z017_007 .
* Class Declarations
CLASS vehicle DEFINITION INHERITING FROM object.
PUBLIC SECTION.
METHODS: create.
PROTECTED SECTION.
DATA speed TYPE i value '90'.
ENDCLASS.
CLASS plane DEFINITION INHERITING FROM vehicle.
PUBLIC SECTION.
METHODS: fly.
PROTECTED SECTION.
DATA altitude TYPE i.
ENDCLASS.
* Class Implementations
CLASS vehicle IMPLEMENTATION.
METHOD create.
speed = speed + 10.
WRITE: / 'air777 is from pony????'.
ENDMETHOD.
ENDCLASS.
CLASS plane IMPLEMENTATION.
METHOD fly.
speed = speed + 1000.
ENDMETHOD.
ENDCLASS.
* Global Data
DATA: pony TYPE REF TO vehicle,
air777 TYPE REF TO vehicle.
* Classical Processing Blocks
START-OF-SELECTION.
CREATE OBJECT: pony.
air777 ?= pony.
* move pony to excel.
* CALL METHOD: air777->fly.
CALL METHOD: air777->create.
* CALL METHOD: air777->create.
* Class Declarations
CLASS vehicle DEFINITION INHERITING FROM object.
PUBLIC SECTION.
METHODS: create.
PROTECTED SECTION.
DATA speed TYPE i value '90'.
ENDCLASS.
CLASS plane DEFINITION INHERITING FROM vehicle.
PUBLIC SECTION.
METHODS: fly.
PROTECTED SECTION.
DATA altitude TYPE i.
ENDCLASS.
* Class Implementations
CLASS vehicle IMPLEMENTATION.
METHOD create.
speed = speed + 10.
WRITE: / 'air777 is from pony????'.
ENDMETHOD.
ENDCLASS.
CLASS plane IMPLEMENTATION.
METHOD fly.
speed = speed + 1000.
ENDMETHOD.
ENDCLASS.
* Global Data
DATA: pony TYPE REF TO vehicle,
air777 TYPE REF TO vehicle.
* Classical Processing Blocks
START-OF-SELECTION.
CREATE OBJECT: pony.
air777 ?= pony.
* move pony to excel.
* CALL METHOD: air777->fly.
CALL METHOD: air777->create.
* CALL METHOD: air777->create.
댓글 3
-
가로수
2011.11.02 14:47
-
겸이82
2012.07.24 10:44
air777이 PLANE을 참조해야 예제의 의미가 맞는거 같습니다.
저도 이상해서 이렇게 찾아오게 되었네요~
-
나비효과
2013.10.25 07:49
air777를 PLANE으로 바꾸면. 위처럼 하면 에러가 발생하던데요.
굳이 air777를 PLANE으로 바꾸려면,
pony TYPE REF TO vehicle,
air777 TYPE REF TO plane."vehicle
pony ?= air777.
CALL METHOD: pony->create.이렇게 하면 에러가 안나오긴 한데. 이걸 CASTING의 효과를 보기 위한게 맞는지 궁금하네요.
pony->fly 쓸수 있어야 할것 같은데요.
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
430 | REPORT Z13_001 | sapjoy | 2007.01.08 | 2362 |
429 | report zsalv_013 | sapjoy | 2010.08.20 | 2361 |
428 | REPORT z19_002 | sapjoy | 2007.03.24 | 2360 |
427 | REPORT z18_008 | sapjoy | 2007.03.07 | 2359 |
426 | REPORT Z11_010 | sapjoy | 2006.12.22 | 2358 |
425 | Z07_005 | sapjoy | 2006.12.06 | 2353 |
» | REPORT Z017_007 [3] | sapjoy | 2007.02.11 | 2353 |
423 | REPORT z18_004 [1] | sapjoy | 2007.03.05 | 2348 |
422 | report zsalv_023 . | sapjoy | 2010.08.20 | 2347 |
421 | REPORT Z17_003 | sapjoy | 2007.02.08 | 2347 |
420 | REPORT Z07_018 | sapjoy | 2006.12.08 | 2341 |
419 | method DISPLAY_LIST . [2] | sapjoy | 2007.10.28 | 2341 |
418 | REPORT z17_18 . | sapjoy | 2012.08.01 | 2339 |
417 | REPORT Z10_001 | sapjoy | 2008.04.14 | 2339 |
416 | report zsalv_003 | sapjoy | 2010.08.20 | 2336 |
415 | REPORT ZBAPI_ALE | sapjoy | 2009.02.05 | 2334 |
414 | report zsalv_011 | sapjoy | 2010.08.20 | 2331 |
413 | report zsalv_030 . | sapjoy | 2010.08.20 | 2330 |
412 | report zsalv_018 . | sapjoy | 2010.08.20 | 2327 |
411 | REPORT Z07_012 | sapjoy | 2006.12.08 | 2326 |
CASTING 정확하게 왜서 쓰는지 ? 어떤 경우에 사용하는지 잘 이해가 안되네요...
그리고 위에 소스 이분에서 PONY AIR777 이 둘다 VEHICLE를 참조하고 있다면
굳이 CASTING 할필요가 있는지요 .단지 CREATE OBJECT AIR777 이구문을 줄이기 위해서인가요 ?
DATA: pony TYPE REF TO vehicle,
air777 TYPE REF TO vehicle.
이와같이 수정해야만 CASTING 효과를 볼수있는게 아닌가 싶네요
DATA: pony TYPE REF TO vehicle,
air777 TYPE REF TO PLANE.
간단한 설명 부탁드립니다.