


版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、*&*-*&ReportY_TEST_A*&*&简单ABAlM象*&REPORTy_test_a.*&*&Classsimpleobj*&TextCLASSsimpleobjDEFINITION.PUBLICSECTION.METHODS:show_text.PRIVATESECTION.DATAtext(100)TYPEcVALUE'ThisismyfirstABAPobject.'.ENDCLASS."simpleobj*&*&Class(Implementation)SIMPLEOB
2、J*&*Text*CLASSsimpleobjIMPLEMENTATION.METHODshow_text.WRITEtext.ENDMETHOD."show_textENDCLASS."SIMPLEOBJ*GlobalDataDeclaratioinDATAob_appTYPEREFTOsimpleobj.START-OF-SELECTION.CREATEOBJECTob_app.CALLMETHODob_app->show_text.*&*&ReportY_TEST_A_1*&*&*&*&类的静态属性*&am
3、p;REPORTy_test_a_1*&*&Classvehicle*&Text*CLASSvehicleDEFINITION.PUBLICSECTION.CLASS-DATAclass_name(10)VALUE'Vehicle'.METHODS:accelerate,show_speed.PROTECTEDSECTION.DATAspeedTYPEi.CONSTANTS:piTYPEpDECIMALS2VALUE'3.14'.ENDCLASS."vehicle*&*&Class(Implementation)
4、vehicle*&*Text*CLASSvehicleIMPLEMENTATION.METHODaccelerate.speed=speed+1.ENDMETHOD."accelerateMETHODshow_speed.WRITE:/'Speed:',speed.ENDMETHOD."show_speedENDCLASS."vehicleDATAob_app1TYPEREFTOvehicle.DATAob_app2TYPEREFTOvehicle.DATAob_app3TYPEREFTOvehicle.DATAo_vehicleTYPER
5、EFTOz_cl_vehicle."引用全局类START-OF-SELECTION.CREATEOBJECTob_app1.CREATEOBJECTob_app2.WRITE:'ob_app1',ob_app1->class_name.WRITE:/'ob_app2',ob_app2->class_name.WRITE:/'vehicle',vehicle=>class_name.SKIP.ob_app1->class_name='Ship'.WRITE:/'ob_app1',ob
6、_app1->class_name.WRITE:/'ob_app2',ob_app2->class_name.WRITE:/'vehicle',vehicle=>class_name.SKIP.vehicle=>class_name='Bus'.CREATEOBJECTob_app3.WRITE:/'ob_app3',ob_app3->class_name.CALLMETHODob_app3->accelerate.CALLMETHODob_app3->show_speed.CREATEO
7、BJECTo_vehicle.DO5TIMES.CALLMETHODo_vehicle->accelerate.ENDDO.CALLMETHODo_vehicle->show_speed.DATAo_vehicle2LIKEo_vehicle.o_vehicle2=o_vehicle.CLEARo_vehicle.CALLMETHODo_vehicle2->show_speed.WRITE'对象只见I被引用的变量,就是活动的ob_applob_app2vehicleVehicleVeliicleVeliideob_applShipotn_app2ShipvehideS
8、hipoti!_app3BusSpeed:对象只斐有褴弓|用的金量,就是活动的"speed:speed:*&*&ReportY_TEST_A_2*&*&*&*&类方法参数调用*&*REPORTy_test_a_2.*&*&Classvehicle*&*Text*CLASSvehicleDEFINITION.PUBLICSECTION.METHODS:exp_speedIMPORTINGcnameTYPEstringEXPORTINGispeedTYPEi,accelerateIMPORTINGrateTY
9、PEi,addCHANGINGaddoneTYPEi.PRIVATESECTION.DATAspeedTYPEiVALUE0.ENDCLASS."vehicle*&*&Class(Implementation)vehicle*&TextCLASSvehicleIMPLEMENTATION.METHODaccelerate.speed=speed+rate."accelerate"show_speed"addENDMETHOD.METHODexp_speed.ispeed=speed.WRITEcname.ENDMETHOD.MET
10、HODadd.addone=addone+1.ENDMETHOD.ENDCLASS."vehicleDATAo_vehicleTYPEREFTOvehicle.DATAintTYPEiVALUE3.DATAfnameTYPEstringVALUE'Speed='.START-OF-SELECTION.CREATEOBJECTo_vehicle.CALLMETHODo_vehicle->accelerateEXPORTINGrate=int.CALLMETHODo_vehicle->accelerateEXPORTINGrate=int.CALLMETHOD
11、o_vehicle->exp_speedEXPORTINGcname=fnameIMPORTINGispeed=int.WRITE:int.CALLMETHODo_vehicle->addCHANGINGaddone=int.WRITE:/int.2011.02.13Speed=76*&*&ReportY_TEST_A_3*&*&*&*&类函数方法*&*REPORTy_test_a_3.*&*&Classcircle*&*Text*CLASScircleDEFINITION.PUBLICSECTION.
12、METHODSget_areaIMPORTINGvalue(i_radius)TYPEiRETURNINGvalue(r_size)TYPEf.PRIVATESECTION.CONSTANTSpiTYPEfVALUE'3.14159265'.ENDCLASS."circle*&*&Class(Implementation)circle*&*Text*CLASScircleIMPLEMENTATION.METHODget_area.r_size=i_radius*2*pi.ENDMETHOD."get_areaENDCLASS.&quo
13、t;circlePARAMETERSradiusTYPEi.DATA:o_circleTYPEREFTOcircle,areaTYPEf.START-OF-SELECTION.CREATEOBJECTo_circle.CALLMETHODo_circle->get_areaEXPORTINGi_radius=radiusRECEIVINGr_size=area.WRITE:/area.area=o_circle->get_area(radius).WRITE:/area.r.-iRADIUS103.1415926500000000E+023.141592S500000000E+02
14、*&*&ReportY_TEST_A_4*&*&*&*&类的构造方法*&REPORTy_test_a_4*CLASSvehicleDEFINITION*CLASSvehicleDEFINITION.PUBLICSECTION.METHODS:accelerateIMPORTINGrateTYPEi,constructorIMPORTINGi_speedTYPEi,show_speed.PRIVATESECTION.DATAspeedTYPEiVALUE0.ENDCLASS."vehicleDEFINITION*&*&am
15、p;Class(Implementation)vehicle*&TextCLASSvehicleIMPLEMENTATION.METHODaccelerate.speed=speed+rate.ENDMETHOD."accelertateMETHODshow_speed.WRITE/speed.ENDMETHOD."show_speedMETHODconstructor.speed=i_speed.WRITE:'constructori_speed=',speed.ENDMETHOD."constructorENDCLASS."v
16、ehicleDATAo_vehicleTYPEREFTOvehicle.START-OF-SELECTION.CREATEOBJECTo_vehicleEXPORTINGi_speed=4.CALLMETHODo_vehicle->accelerateEXPORTINGrate=2.CALLMETHODo_vehicle->show_speed.201L.02.13constructori_speed=4*&*&ReportY_TEST_A_5*&*&*&*&类的继承多态*&REPORTy_test_a_5*&*&am
17、p;Classsuperclass*&*Text*CLASSsuperclassDEFINITION.PUBLICSECTION.METHODSwrite_first.METHODSwrite_second.ENDCLASS."superclass*&*&Classredefclass*&TextCLASSredefclassDEFINITIONINHERITINGFROMsuperclass.PUBLICSECTION.METHODS:write_me,write_firstREDEFINITION.ENDCLASS."redefclass
18、*&*&Class(Implementation)superclass*&*TextCLASSsuperclassIMPLEMENTATION.METHODwritefirst.WRITE:/'Thefirstmethod'.ENDMETHOD."writefirstMETHODwrite_second."write_second"superclassWRITE:/'Thesecondmethod'.ENDMETHOD.ENDCLASS.*&*&Class(Implementation)sub
19、class*&TextCLASSsubclassIMPLEMENTATION.METHODwrite_third.WRITE:/'Thethirdmethod'.ENDMETHOD.ENDCLASS."write_third"subclass*&*&Class(Implementation)REDEFCLASS*&*TextCLASSredefclassIMPLEMENTATION.METHODwriteme.CALLMETHODme->write_first.ENDMETHOD."write_superMET
20、HODwrite_first.WRITE:/'Theredefinitionmethod'.CALLMETHODsuper->write_first.ENDMETHOD."write_firstENDCLASS."REDEFCLASSDATA:inher_objTYPEREFTOsubclass.DATA:redef_objTYPEREFTOredefclass.START-OF-SELECTION.CREATEOBJECTinher_obj.CREATEOBJECTredef_obj.CALLMETHOD:inher_obj->write_fi
21、rst,inher_obj->write_second,inher_obj->write_third.SKIP.CALLMETHOD:redef_obj->write_first.CALLMETHOD:redef_obj->write_me.ThefirsticthodThesecondmethodThethirdnethodTheredefinitionuethodThefirstacthodTheredefinitionnethodThefirstnethod*&*&ReportY_TEST_A_6*&*&*&*&类的
22、抽象和抽象方法最终和最终方法*&REPORTy_test_a_6*&*&Classsuperclass*&Text*CLASSsuperclassDEFINITIONABSTRACT.PUBLICSECTION.DATA:para(30)TYPEcVALUE'Thesuperabstractmethod'.METHODSwrite_firstABSTRACT.ENDCLASS."superclass*&*&Classsubclass*&*TextCLASSsubclassDEFINITIONINHERITINGF
23、ROMsuperclass.PUBLICSECTION.METHODSwrite_firstREDEFINITION.METHODSwrite_finalmethodFINAL.ENDCLASS."subclass*&*&Classfinalclass*&TextCLASSfinalclassDEFINITIONFINAL.PUBLICSECTION.METHODS:write_finalclass.ENDCLASS."finalclass*&*&Class(Implementation)subclass*&*Text*CLA
24、SSsubclassIMPLEMENTATION.METHODwrite_first.WRITE:para.ENDMETHOD."write_firstMETHODwrite_finalmethod.WRITE:/'Thefinalmethod'.ENDMETHOD."write_subENDCLASS."subclass*&*&Class(Implementation)finalclass*&*Text*CLASSfinalclassIMPLEMENTATION.METHODwrite_finalclass.WRITE:/
25、'Thefinalclass'.ENDMETHOD."write_finalclassENDCLASS."finalclassDATAinher_objTYPEREFTOsubclass.DATAfinal_objTYPEREFTOfinalclass.START-OF-SELECTION.CREATEOBJECTinher_obj.CREATEOBJECTfinal_obj.CALLMETHODinher_obj->write_first.CALLMETHODinher_obj->write_finalmethod.*CALLMETHODfin
26、al_obj->write_finalclass.INTERFACEoutput.METHODSwrite.ENDINTERFACE."output*INTERFACEstatus*INTERFACEstatus.DATAintTYPEi.CLASS-DATAcintTYPEi.METHODSwrite.CONSTANTSconstTYPEiVALUE30.ENDINTERFACE."status*&*&Classsuperclass*&*Text*CLASSsuperclassDEFINITION.PUBLICSECTION.INTERFAC
27、ES:output,status,zintest.METHODSincrement.PRIVATESECTION.DATAcountTYPEi.ENDCLASS."superclass*&*&Class(Implementation)superclass*&Text*CLASSsuperclassIMPLEMENTATION.METHODoutputwrite.WRITE/'HelloSAP'.ENDMETHOD."outputwriteMETHODstatuswrite.WRITE:/'Countincountis'
28、,count.ENDMETHOD."statuswriteMETHODzintesttest.WRITE:/'itistheBADItestinterface'.ENDMETHOD."zintesttestMETHODincrement.ADD1TOcount.ENDMETHOD."incrementENDCLASS."superclassDATA:super_objTYPEREFTOsuperclass,super_objectTYPEREFTOsuperclass.DATA:intf_objTYPEREFTOoutput,"
29、弓|用接口outputintf_tableTYPETABLEOFREFTOoutput."弓I用接口创建内表DATA:interface_objTYPEREFTOstatus,"弓I用接口statusinterface_tableTYPETABLEOFREFTOstatus."弓I用接口创建内表DATA:badi_objTYPEREFTOzintest."弓|用接口zintestSTART-OF-SELECTION.*实例调用接口方法,类引用CREATEOBJECT:super_obj,super_object.CALLMETHOD:super_obj-
30、>outputwrite.SKIP.*直接调用接口方法,需要通过内表实现,接口引用APPENDsuper_objTOintf_table.LOOPATintf_tableINTOintf_obj.CALLMETHODintf_obj->write.ENDLOOP.APPENDsuper_objTOinterface_table.LOOPATinterface_tableINTOinterface_obj.CALLMETHODinterface_obj->write.ENDLOOP.SKIP.CALLMETHODsuper_obj->increment.APPENDsup
31、er_objTOinterface_table.LOOPATinterface_tableINTOinterface_obj.CALLMETHODinterface_obj->write.ENDLOOP.SKIP.*接口引用赋值类引用interface_obj=super_object.CALLMETHODinterface_obj->write.badi_obj=super_object.CALLMETHODsuper_object->zintesttest.CALLMETHODbadi_obj->test.SKIP.*类实例访问变量super_obj->sta
32、tusint=5.WRITE/super_obj->statusint.*类实例访问静态变量super_obj->statuscint=10.WRITE/super_obj->statuscint.*类名访问静态变量superclass=>statuscint=20.WRITE/superclass=>statuscint.*接口实例访问变量interface_obj->int=5.WRITE/interface_obj->int.*接口实例访问静态变量interface_obj->cint=10.WRITE/interface_obj->
33、cint.*接口名访问常量WRITE/status=>const.HelloSAPHelloSAPCountincountisCountincountisCountincountisCountincountitistheEADIItistheEADI011is0testinterfacetestinterface5102051030*&*&ReportY_TEST_A_8*&*&*&*&类的事件*&REPORTy_test_a_8*&*&Classvehicle*&Text*CLASSvehicleDEFIN
34、ITION.PUBLICSECTION.* EVENTS:too_fast.EVENTS:too_fastEXPORTINGvalue(p1)TYPEi.METHODS:accelerate,show_speed.CLASS-DATAspeedTYPEi.ENDCLASS."vehicle*&*&Class(Implementation)vehicle*&Text*CLASSvehicleIMPLEMENTATION.METHODaccelerate.speed=speed+1.IFspeed>5.* RAISEEVENTtoo_fast.RAISEEVENTtoo_fastEXPORTINGp1=speed.ENDIF.ENDMETHOD."accelerateMETHODshow_speed.WRITE:/'Speed:',speed.ENDMETHOD.&q
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 农村家庭农场租赁协议
- 厂房出售居间服务费协伐协议
- 临川区城市发展投资集团有限公司等3家区属国企2025年公开招聘员工【15人】笔试参考题库附带答案详解
- 2025福建省泉州凤栖实业有限责任公司社会招聘17人笔试参考题库附带答案详解
- 纺织工程师技术创新的重要性试题及答案
- 药物销售考试题及答案
- 出机票合同协议书
- 合同协议书图片
- 双人合同协议书
- 情侣合同协议书
- 工会乒乓球比赛竞赛规程
- qpq处理工艺流程
- 经典美味的手抓饭
- 体育产业与生态环境的共同保护
- 读后续写制作稻草人(T8联考)讲义-高考英语作文复习专项
- 食堂员工培训内容-食堂从业人员培训资料
- 基于文化创意视角的妈祖文化旅游地产发展研究莆田妈祖文化旅游地产发展条件及思路研究
- 七年级上册语文人教版全册文言文全文详解及翻译
- 北师大小学数学小升初《简便运算》复习课件
- 三相异步电动机的电力拖动课件
- 中央新疆税收政策解读
评论
0/150
提交评论