Abap OO and .Net OO [1]

来源:互联网 发布:淘宝天猫图标 编辑:程序博客网 时间:2024/05/18 00:22

Abap OO and .Net OO

 

Create a new class Lcl_Calculate

 

 

.Net OO

The Below is vb.net class code ( vs.net 2005)

 

Public Class Lcl_Calculate

    Private Number1 As Integer

    Private Number2 As Integer

    Private Operate As String

 

    Public Sub SetNumber1(ByVal N1 As Integer)

        Number1 = N1

    End Sub

 

    Public Function GetNumber1() As Integer

        Return Number1

    End Function

 

    Public Sub SetNumber2(ByVal N2 As Integer)

        Number2 = N2

    End Sub

 

    Public Function GetNumber2() As Integer

        Return Number2

    End Function

 

    'Public Sub SetOperate(ByVal l_operate As String)

    '    Operate = l_operate

    'End Sub

 

    'Public Function GetOperate() As String

    '    Return Operate

    'End Function

 

    Public Property GetOperate() As String

        Get

            Return Operate

        End Get

 

        Set(ByVal value As String)

            Operate = value

        End Set

    End Property

 

 

    Public Function ToResult() As Integer

        Select Case GetOperate

            Case "+"

                Return GetNumber1 + GetNumber2()

            Case "-"

                Return GetNumber1() - GetNumber2()

            Case "*"

                Return GetNumber1() * GetNumber2()

            Case "/"

                If GetNumber2() = 0 Then

                    MessageBox.Show("The divisor can not eq 0 !")

                Else

                    Return GetNumber1() / GetNumber2()

                End If

 

        End Select

    End Function

 

End Class

 

-----Main Program----

 

 

Public Class Form1

    Private lobj_calculate As New Lcl_Calculate

 

    Private Sub Btn_Result_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btn_Result.Click

        lobj_calculate.SetNumber1(Me.Tbx_Number1.Text)

        lobj_calculate.SetNumber2(Me.Tbx_Number2.Text)

        lobj_calculate.GetOperate = Me.Tbx_Operate.Text

        Me.Tbx_Result.Text = lobj_calculate.ToResult

 

    End Sub

End Class

 

----------------

.ABAP OO

 

 

The Below is ABAP Code

 

*-----------------------------------------------------------------------

*  Company XXX Company Limited

*

*  Report Name:  ZZW_ABAPOO_002

*

*  Author: Lilo.Zhu

*

*  Date: 2008.01.23

*-----------------------------------------------------------------------

*  Description:

* =============

*   ABAP OO Program Fro Calculate

*

*-----------------------------------------------------------------------

* Change History:

* ===============

* Task#  Date        By        Description

* 1565   2008.01.23  Lilo      Initial Implementation

*

*----------------------------------------------------------------------

 

REPORT  ZZW_ABAPOO_002                          .

*---------Class Definition----------

CLASS LCL_CALCULATE DEFINITION.

  PUBLIC SECTION.

    METHODS:

      SETNUMBER1

        IMPORTING N1 TYPE I,

      GETNUMBER1

        RETURNING VALUE(LN1) TYPE I,

 

      SETNUMBER2

        IMPORTING N2 TYPE I,

      GETNUMBER2

        RETURNING VALUE(LN2) TYPE I,

 

      SETOPERATE

        IMPORTING OP TYPE C,

      GETOPERATE

        RETURNING VALUE(LOP) TYPE STRING,

 

      TORESULT

        RETURNING VALUE(LR) TYPE I.

 

  PRIVATE SECTION.

    DATA:

      NUMBER1 TYPE I,

      NUMBER2 TYPE I,

      OPERATE TYPE C.

ENDCLASS.

 

*--------Class Implementation-----------

CLASS LCL_CALCULATE IMPLEMENTATION.

    METHOD  SETNUMBER1.

       NUMBER1 = N1.

    ENDMETHOD.

 

    METHOD GETNUMBER1.

      LN1 = NUMBER1.

    ENDMETHOD.

 

    METHOD SETNUMBER2.

      NUMBER2  = N2.

    ENDMETHOD.

 

    METHOD GETNUMBER2.

      LN2  =   NUMBER2.

    ENDMETHOD.

 

    METHOD SETOPERATE.

      OPERATE  = OP.

    ENDMETHOD.

 

    METHOD GETOPERATE.

      LOP = OPERATE.

    ENDMETHOD.

 

    METHOD TORESULT.

      DATA: Z_OP TYPE C,

            Z_N1 TYPE I,

            Z_N2 TYPE I.

 

      CALL METHOD GETNUMBER1

        RECEIVING LN1 = Z_N1.

 

      CALL METHOD GETNUMBER2

        RECEIVING LN2 = Z_N2.

 

      CALL  METHOD GETOPERATE

        RECEIVING LOP = Z_OP.

 

      CASE Z_OP.

        WHEN '+'.

          LR = Z_N1 + Z_N2.

        WHEN '-'.

          LR = Z_N1 - Z_N2.

        WHEN '*'.

          LR = Z_N1 * Z_N2.

        WHEN '/'.

          IF Z_N2 EQ 0.

            message I004(ZZWMSG) with 'The divisor can not eq 0 !'.

          ELSE.

            LR = Z_N1 / Z_N2.

          ENDIF.

 

      ENDCASE.

 

    ENDMETHOD.

 

ENDCLASS.

 

*----------Main Program-------------

DATA: LOBJ_CALCULATE TYPE REF TO LCL_CALCULATE,

      L_RE  TYPE I.

SELECTION-SCREEN BEGIN OF BLOCK B1.

  PARAMETER: P_N1  TYPE I,

             P_OP  TYPE C,

             P_N2  TYPE I.

SELECTION-SCREEN END OF BLOCK B1.

 

START-OF-SELECTION.

  CREATE OBJECT LOBJ_CALCULATE.

 

  CALL METHOD LOBJ_CALCULATE->SETNUMBER1

      EXPORTING N1 = P_N1.

 

  CALL METHOD LOBJ_CALCULATE->SETNUMBER2

      EXPORTING N2 = P_N2.

 

  CALL METHOD LOBJ_CALCULATE->SETOPERATE

      EXPORTING OP = P_OP.

 

  CALL METHOD LOBJ_CALCULATE->TORESULT

      RECEIVING  LR = L_RE.

 

WRITE: P_N1 ,P_OP , P_N2, '=' , L_RE.

END-OF-SELECTION.