技术开发 频道

ABAP OO练习

    第三节: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
相关文章