网站大量收购独家精品文档,联系QQ:2885784924

ABAP 面向对象编程.pptx

  1. 1、本文档共35页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ABAP 面向对象编程;一. 介绍;面向对象编程;ABAP Objects 是ABAP的扩展,集合了Java,C++,Smalltalk等语言的特点。和原来的ABAP无缝集成。;Class 在SAP中,可以在SE24或ABAP编辑器中定义Class。二者的区别类似SE11中定义的结构与程序中定义的结构。 在SE24中,可以看到类的各个部件,条理清楚。代码中的关键字,如public,class-method等在SE24中都可以体现出来。;Class:分两部分定义。Class中不能再嵌套定义Class。;定义Class的一个例子;Objects;create object时,在内存中分配一个空间给该Object。;如果内存中某个object区域不被指向,系统将释放这部分内存。下图中对两个object使用等号之后,它们指向同一个内存地址,同时释放一个object所占用的内存。;可以使用TYPE TABLE OF REF TO class关键字定义一个内表,来存放该类的多个对象。;可以是各种类型,包括: Data types: scalar (例如 data element), structured, in tables, ABAP elementary types (C, I, ...) Object references Interface references;按定义位置,分为Public 和Private. Public Attribute:能从class外直接访问和修改。一般来说,尽量少定义Public Attribute。 Private Attribute:只能从类中访问和修改。;按定义的关键字,分为Instance 和Static. Instance Attribute:同一个类中多个实例的Instance Attribute各自分开,具有不同的值。使用DATA关键字定义。 用法:实例名-属性 Static Attribute:同一个类中多个实例的Static Attribute的值一样。可以通过各个实例或直接通过类来访问和修改。使用CLASS-DATA定义。在debug时可以看到class-data不占用object的内存。 用法:实例名-属性 或 类名=属性;Method;按定义的关键字,分为Instance和Static. Instance Method:能使用static和instance的内容。使用Method定义。 用法:实例名-方法名 Static Method:只能使用static的内容。可以不通过实例,直接调用。使用Class-Method定义。 用法:实例名-方法名 或 类名=方法名;Method的参数;Constructor方法(初始化);每次使用create object时自动执行constructor方法. Class-constructor在一个程序中只执行一次。在以下事件前自动执行。 CREATE OBJECT 调用该类的属性 使用Call Method Registering a static event handler Registering an evetm handler method for a static event ;;Protected ;继承;;Interface;接口中只有定义。要完成的功能在class的implementation部分实现。接口中的部件自动在类中可用。 接口不分为public,private等部分。 属性、方法、常量、类型等可以和类中的一样定义 接口需要在类定义的public部分列出。 用法: interface name~component name ;可以使用TYPE TABLE OF REF TO interface关键字定义一个内表,来存放属于不同类的对象。这些类必须都包含这个接口。 ;Events;三. 使用Control(控件);使用Control前,我们要先在屏幕上创建一个Container控件。Control在这个控件中显示、处理。 ;;创建完container后,就可以在程序中,调用系统自带的class了。这里需要用到两个class: cl_gui_custom_container cl_gui_textedit 创建object的时候,传入container的名字做参数,并传入是否自动换行等参数(这些参数,是传到constructor方法的) ;效果如图,可以看到是一个空白的控件,并自带了一些按钮。控件的大小和位置与container一致。;2. 使用cl_gui_textedit的其它功能;;1、有时候读书是一种巧妙地避开思考的方法。5月-205月-20Friday, May 1,

文档评论(0)

ayangjiayu3 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档