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.