技术开发 频道

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

第三节:commission worker类的实现

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

*& Include ZBOBO_OO_COMWORKER_CLASS

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

*定义commission worker类,他的收入是一小部分基本工资加上销售额的

*一定的百分比

CLASS COMMISSIONWORKER DEFINITION

INHERITING FROM EMPLOYEE.

PUBLIC SECTION.

METHODS:

*定义构造函数

CONSTRUCTOR

IMPORTING A TYPE STRING

B TYPE STRING

C TYPE F

D TYPE F

E TYPE I,

*定义setter以及getter方法

SETSALARY

IMPORTING S TYPE F,

GETSALARY

RETURNING VALUE(SA) TYPE F,

SETCOMMISSION

IMPORTING C TYPE F,

SETQUANTITY

IMPORTING Q TYPE I,

*重定义父类的抽象方法

EARNINGS REDEFINITION,

PRINT REDEFINITION.

PRIVATE SECTION.

*定义私有实例变量

DATA:

SALARY TYPE F,

COMMISSION TYPE F,

QUANTITY TYPE I.

ENDCLASS.

*实现commission worker类

CLASS COMMISSIONWORKER IMPLEMENTATION.

METHOD CONSTRUCTOR.

CALL METHOD SUPER->CONSTRUCTOR

EXPORTING A = A B = B.

SALARY = C.

COMMISSION = D.

QUANTITY = E.

ENDMETHOD.

METHOD SETSALARY.

SALARY = S.

ENDMETHOD.

METHOD GETSALARY.

SA = SALARY.

ENDMETHOD.

METHOD SETCOMMISSION.

COMMISSION = C.

ENDMETHOD.

METHOD SETQUANTITY.

QUANTITY = Q.

ENDMETHOD.

*实现工资的算法

METHOD EARNINGS.

EARN = SALARY + COMMISSION * QUANTITY.

ENDMETHOD.

*实现输出方法

METHOD PRINT.

DATA: FI TYPE STRING,

LA TYPE STRING.

WRITE: / 'Commission Worker:'.

FI = GETFIRSTNAME( ).

LA = GETLASTNAME( ).

WRITE: FI,LA.

ENDMETHOD.

ENDCLASS.

0
相关文章