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.
分享到:
相关推荐
1.ABAP OO具有更高层次的数据封装性 2.ABAP OO可以实现一个类的多个实例 3.ABAP OBJECT通过继承进一步增强了程序代码的可重用性 4.ABAP OO是你可以通过接口(interface)来调用对象的业务逻辑,而不是直接去使用对象...
ABAP OOALV报表开发,定义变量,选择屏幕定义,创建类,调用函数
ABAP OOALV报表开发,定义变量,选择屏幕定义,创建类,调用函数,是学习OOALV很不错的学习资料
sap abap oo实现alv框可编辑
该文档从面向对象abap开发的优点出发,解释了abap oo技术的优点和未来发展趋势,对abaper帮助
在ABAP开发中,应用OO的方法,有时候会需要去掉ALV中的标准工具栏,里面有具体步骤和实例。
利用OO实现ALV , OO是SAP比较新的东西了,应用可能会越来越广
abap oo培训abap oo培训abap oo培训abap oo培训abap oo培训abap oo培训abap oo培训
SAP ABAP开发学习——第10课:OOALV(视频教程) 1.SAP ABAP开发入门学习 2.含视频教程学习、PPT、作业 3.视频非常清晰
ABAP oo的8个理由 电子书 很多关于ABAP OO方面的文章要么过于抽象,要么举的例子过于简单对于实际应用无关痛痒。本篇文章力图通过简单而又切合实际的例子通过面向过程和面向对象两种模式的比较来说明OO的优点。
[SAP ABAP开发技术总结]ALV详解(Fuction ALV 和OO ALV) 图文并茂,详细介绍了Fuction ALV 和OO ALV的相关开发 [SAP ABAP开发技术总结]ALV详解:Function ALV(一) [SAP ABAP开发技术总结]ALV详解:Function ALV...
SAP ABAP Workflow programming with ABAP OO objects
SAP ABAP OOALV自学记录,适合刚接触ABAP的同学进行自学。
ABAP OO第1部分-简介 ABAP OO第2部分-静态与实例 ABAP OO第3部分-可见性 ABAP OO第4部分-例外 ABAP OO第5部分-继承 要求 确保满足以下要求: 您可以访问SAP BTP,ABAP环境实例(有关其他信息,请参见)。 您...
ABAP alv OO 面向对象 开发 二
abap Q&A abap Q&A abap Q&A abap Q&A abap Q&A
OOALV常用功能完整简例,OO ALV常用功能完整简例 - OO ALV 常用功能完整简例(热键单击,双击,帮助,编辑,自定义工具条等)
abap English and test