`
csstome
  • 浏览: 1477470 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

Abap OO and .Net OO [1]

阅读更多

Abap OO and .Net OO

Create a new class Lcl_Calculate

<shapetype id="_x0000_t75" stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600"><stroke joinstyle="miter"></stroke><formulas><f eqn="if lineDrawn pixelLineWidth 0"></f><f eqn="sum @0 1 0"></f><f eqn="sum 0 0 @1"></f><f eqn="prod @2 1 2"></f><f eqn="prod @3 21600 pixelWidth"></f><f eqn="prod @3 21600 pixelHeight"></f><f eqn="sum @0 0 1"></f><f eqn="prod @6 1 2"></f><f eqn="prod @7 21600 pixelWidth"></f><f eqn="sum @8 21600 0"></f><f eqn="prod @7 21600 pixelHeight"></f><f eqn="sum @10 21600 0"></f></formulas><path o:connecttype="rect" gradientshapeok="t" o:extrusionok="f"></path><lock aspectratio="t" v:ext="edit"></lock></shapetype><shape id="_x0000_i1025" style="WIDTH: 231pt; HEIGHT: 132pt" o:ole="" type="#_x0000_t75"><imagedata o:title="" src="file:///C:%5CDOCUME~1%5Cwei_zhu%5CLOCALS~1%5CTemp%5Cmsohtml1%5C01%5Cclip_image001.emz"></imagedata></shape>

.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----

<shape id="_x0000_i1026" style="WIDTH: 279.75pt; HEIGHT: 139.5pt" type="#_x0000_t75"><imagedata o:title="" src="file:///C:%5CDOCUME~1%5Cwei_zhu%5CLOCALS~1%5CTemp%5Cmsohtml1%5C01%5Cclip_image003.png"><font face="Times New Roman" size="3"></font></imagedata></shape>

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

<shape id="_x0000_i1027" style="WIDTH: 312pt; HEIGHT: 126pt" type="#_x0000_t75"><imagedata o:title="" src="file:///C:%5CDOCUME~1%5Cwei_zhu%5CLOCALS~1%5CTemp%5Cmsohtml1%5C01%5Cclip_image005.png"><font face="Times New Roman" size="3"></font></imagedata></shape>

<shape id="_x0000_i1028" style="WIDTH: 255pt; HEIGHT: 115.5pt" type="#_x0000_t75"><imagedata o:title="" src="file:///C:%5CDOCUME~1%5Cwei_zhu%5CLOCALS~1%5CTemp%5Cmsohtml1%5C01%5Cclip_image007.png"><font face="Times New Roman" size="3"></font></imagedata></shape>

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.

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics