技术开发 频道

看实例学习ABAP面向对象编程

第五节:测试程序的实现

*&---------------------------------------------------------------------*

*& Report ZBOBO_OO_SAPLINK_004

*&

*&---------------------------------------------------------------------*

*&

*&

*&---------------------------------------------------------------------*

REPORT ZBOBO_OO_SAPLINK_004.

INCLUDE ZBOBO_OO_EMPLOYEE_CLASS.

INCLUDE ZBOBO_OO_BOSS_CLASS.

INCLUDE ZBOBO_OO_COMWORKER_CLASS.

INCLUDE ZBOBO_OO_PIWORKER_CLASS.

*定义引用变量

DATA:

EM_REF TYPE REF TO EMPLOYEE,

BO_REF TYPE REF TO BOSS,

CO_REF TYPE REF TO COMMISSIONWORKER,

PI_REF TYPE REF TO PIWORKER.

DATA:

EARNS TYPE F.

START-OF-SELECTION.

*创建boss对象

CREATE OBJECT BO_REF

EXPORTING BOSS_A = 'Jhon'

BOSS_B = 'Smith'

S = '800.00'.

*narrowing cast

EM_REF = BO_REF.

*输出到屏幕

CALL METHOD EM_REF->PRINT.

EARNS = EM_REF->EARNINGS( ).

WRITE: / 'Earned: $',EARNS DECIMALS 2 EXPONENT 0.

*下面的代码基本上和上面的相同

CREATE OBJECT CO_REF

EXPORTING A = 'Sue'

B = 'Jones'

C = '800.00'

D = '3.0'

E = 150.

EM_REF = CO_REF.

CALL METHOD EM_REF->PRINT.

EARNS = EM_REF->EARNINGS( ).

WRITE: / 'Earned: $',EARNS DECIMALS 2 EXPONENT 0.

CREATE OBJECT PI_REF

EXPORTING A = 'BOB'

B = 'LEWIS'

W = '2.5'

Q = 200.

EM_REF = PI_REF.

CALL METHOD EM_REF->PRINT.

EARNS = EM_REF->EARNINGS( ).

WRITE: / 'Earned: $',EARNS DECIMALS 2 EXPONENT 0.

0
相关文章