- 1、本文档共35页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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,
您可能关注的文档
- 319第1章办公自动化概述.pptx
- 35OA--老板签批系统.pptx
- 31自动化-01第一章 基本概念Rev2.pptx
- 3、电力自动化常用理论.pptx
- 3、软件测试自动化工具.pptx
- 3电网调度自动化(第一章基本特征1)140305.pptx
- 3电气工程概论_第三章_电力系统及其自动化技术.pptx
- 361度公司High翻天QQ车送你贺成年RoadShow执行方案--qhp929.pptx
- 3产品生命周期.pptx
- 3空调自动化原理(第2部分).pptx
- 新视野二版听说1第6单元示范1课件.ppt
- 【参考答案】 联络口译(第二版) 《联络口译》(第二版)参考答案.pdf
- 梅大高速茶阳路段“5·1”塌方灾害调查评估报告.docx
- 虹吸雨水PE管施工节点标准做法.pdf
- 2025消防设施施工质量常见通病防治手册,典型图示+规范要求.pptx
- 新视野大学英语(第二版)读写教程 4 空军工程大学编U05B.ppt
- E英语教程2(智慧版)Unit 6.pptx
- E英语教程3(智慧版)Unit 7.ppt
- 新视野二版读写1第4单元课件Section A How to Make a Good Impression.pptx
- E英语视听说教程4(智慧版)4-U2课件(2024版)U2.pptx
最近下载
- 食品风味化学(第二版) 课件 第10--12章 风味料在食品加工中的应用、食品的异味、食品风味质量评价与安全控制.pptx
- 大班语言《美丽的礼物》.ppt
- 孟子对先秦名实观发展的贡献-来源:现代哲学(第2019003期)-广东哲学学会.pdf VIP
- 2023年江西财经大学信息管理与信息系统专业《数据结构与算法》科目期末试卷B(有答案).docx VIP
- 乡镇交通安全课件PPT.pptx VIP
- 影视欣赏社团活动计划.docx VIP
- 食品风味化学(第二版) 课件 第8、9章 风味物质的提取与分析、 食品中风味的释放和稳定化.pptx
- 2023年江西财经大学信息管理与信息系统专业《数据结构与算法》科目期末试卷A(有答案).docx VIP
- 《进食障碍》课件.ppt VIP
- 音乐_上学歌_课件.pptx
文档评论(0)