首页 SAP-ABAP培训课件

SAP-ABAP培训课件

举报
开通vip

SAP-ABAP培训课件ABAP面向对象编程一.介绍二.主要概念三.使用Control四.ALVControl例子一.介绍传统的ABAP面向过程编程面向对象编程ABAPObjects是ABAP的扩展,集合了Java,C++,Smalltalk等语言的特点。和原来的ABAP无缝集成。Class在SAP中,可以在SE24或ABAP编辑器中定义Class。二者的区别类似SE11中定义的结构与程序中定义的结构。在SE24中,可以看到类的各个部件,条理清楚。代码中的关键字,如public,class-method等在SE24中都可以体现出来。二.主...

SAP-ABAP培训课件
ABAP面向对象编程一.介绍二.主要概念三.使用Control四.ALVControl例子一.介绍传统的ABAP面向过程编程面向对象编程ABAPObjects是ABAP的扩展,集合了Java,C++,Smalltalk等语言的特点。和原来的ABAP无缝集成。Class在SAP中,可以在SE24或ABAP编辑器中定义Class。二者的区别类似SE11中定义的结构与程序中定义的结构。在SE24中,可以看到类的各个部件,条理清楚。代码中的关键字,如public,class-method等在SE24中都可以体现出来。二.主要概念Class:分两部分定义。Class中不能再嵌套定义Class。在ABAP编辑器中定义Class定义Class的一个例子ObjectsObject:就是class的实例(instance)使用object前,先要用下面的语句来定义该object属于哪个类data<objectname>typerefto<classname>定义完该对象后,就可以使用createobject<objectname>来创建对象了。这时系统会分配一块内存区域给对象。createobject时,在内存中分配一个空间给该Object。如果内存中某个object区域不被指向,系统将释放这部分内存。下图中对两个object使用等号之后,它们指向同一个内存地址,同时释放一个object所占用的内存。可以使用TYPETABLEOFREFTO<class>关键字定义一个内 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf ,来存放该类的多个对象。可以是各种类型,包括:Datatypes:scalar(例如dataelement),structured,intables,ABAPelementarytypes(C,I,...)ObjectreferencesInterfacereferencesAttribute按定义位置,分为Public和Private.PublicAttribute:能从class外直接访问和修改。一般来说,尽量少定义PublicAttribute。PrivateAttribute:只能从类中访问和修改。按定义的关键字,分为Instance和Static.InstanceAttribute:同一个类中多个实例的InstanceAttribute各自分开,具有不同的值。使用DATA关键字定义。用法:实例名->属性StaticAttribute:同一个类中多个实例的StaticAttribute的值一样。可以通过各个实例或直接通过类来访问和修改。使用CLASS-DATA定义。在debug时可以看到class-data不占用object的内存。用法:实例名->属性或类名=>属性Method按定义位置,分为Public和Private.类似Attribute。PublicMethod:能从类外调用。PrivateMethod:只能从该类中调用。按定义的关键字,分为Instance和Static.InstanceMethod:能使用static和instance的 内容 财务内部控制制度的内容财务内部控制制度的内容人员招聘与配置的内容项目成本控制的内容消防安全演练内容 。使用Method定义。用法:实例名->方法名StaticMethod:只能使用static的内容。可以不通过实例,直接调用。使用Class-Method定义。用法:实例名->方法名或类名=>方法名Method的参数Method的参数可以是Class/Object可以有importing,exporting,changing,returning等Constructor方法(初始化)每个类都自动隐性带有名为constructor(Instance)和class_constructor(Static)方法。要使用这两个method,必需首先定义它们。constructor可以有参数和例外,而class_constructor没有参数。每次使用createobject时自动执行constructor方法.Class-constructor在一个程序中只执行一次。在以下事件前自动执行。CREATEOBJECT调用该类的属性使用CallMethodRegisteringastaticeventhandlerRegisteringanevetmhandlermethodforastaticevent如果constructor带有参数,在createobject时就能够通过传入的参数初始化object。例如CREATEOBJECTairplane1exportingp2_name='Hansemand'p2_planetype='Boing747'.Protectedprotectedsector中的内容用可以被该类自己,其父类和子类访问。继承可以有多级继承一个子类只有一个直接父类类知道自己的superclass,但不知道自己的subclass继承时,superclass的内容不能除去,只能加入新的内容用法:定义class时,使用关键字INHERITINGFROMInterface接口中只有定义。要完成的功能在class的implementation部分实现。接口中的部件自动在类中可用。接口不分为public,private等部分。属性、方法、常量、类型等可以和类中的一样定义接口需要在类定义的public部分列出。用法:<interfacename>~<componentname>可以使用TYPETABLEOFREFTO<interface>关键字定义一个内表,来存放属于不同类的对象。这些类必须都包含这个接口。EventsEvents类似一个类,有自己的属性和方法,能被其它某一个类调用。Event只能有EXPORTING参数要使用Events,需要以下几点。在class中定义events,和它的触发条件(events,raise)定义events,以及它实现的功能(methodxxxforeventof<classname>)使用包含events的object前,对event对象使用createobject,并且用sethandler语句,使event能够被响应。三.使用Control(控件)在对屏幕的编程中,常常使用Control技术,能够实现如VC,Java等语言的一些功能,如Event,Attribute等。方便用户和系统交互。常见的Control:TextEdit,ALV,Picture,HTMLviewer等使用Control前,我们要先在屏幕上创建一个Container控件。Control在这个控件中显示、处理。做一个RichText控件的例子1.创建控件创建完container后,就可以在程序中,调用系统自带的class了。这里需要用到两个class:cl_gui_custom_containercl_gui_textedit创建object的时候,传入container的名字做参数,并传入是否自动换行等参数(这些参数,是传到constructor方法的)效果如图,可以看到是一个空白的控件,并自带了一些按钮。控件的大小和位置与container一致。2.使用cl_gui_textedit的其它功能可以调用该类中的方法,如SET_FOCUS,GET_VISIBLE等,来完成其它面向语言中的一些常见功能。通过类中的event,可以实现和用户的交互。可以自己定义handler,来响应用户的events。由于操作control的方法都是通过RFC函数传到front-end实现的,因此要使用FLUSH方法来保持front-end和后台的同步。写法:CALLMETHODcl_gui_cfw=>flush.演讲完毕,谢谢观看!
本文档为【SAP-ABAP培训课件】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
言言无悔一生
暂无简介~
格式:ppt
大小:586KB
软件:PowerPoint
页数:35
分类:
上传时间:2022-01-21
浏览量:0