第三节: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.