- 1、本文档共23页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ABAP面向对象开发概要1
在程序中, 对象的识别和寻址是通过对象引用来实现的, 对象引用变量可以访问对象的属性和方法.
ABAP 中的类也有程序内部的局域类和全局类之分, 其作用范围不同. ABAP中的全局类是通过ABAP工作台中的类创建工具 Class Builder 开发的, 保存在系统类库程序 Class Pool 中, 可供所有程序作用.
一. 程序中类的定义.
1. 类声明及实现
* Class Declarations
CLASS application DEFINITION.
PUBLIC SECTION.
METHODS: show_text.
PRIVATE SECTION.
DATA text(100) TYPE c VALUE This is my first ABAP Object..
ENDCLASS.
CLASS application IMPLEMENTATION.
METHOD show_text.
WRITE text.
ENDMETHOD.
ENDCLASS.
2. 成员可见性.
公有: 可被所有对象使用.
PUBLIC SECTION.
保护: 只能被本类及其派生类中的方法使用.
PROTECTED SECTION.
私有: 只能被类本身的方法所使用.
PRIVATE SECTION.
公有部分常常用来定义类的方法, 而类属性则一般定义为类的私有或保护数据, 只能通过自身或其派生类的方法来操作.
3. 成员类型.
可定义三种不同类型的成员, 分别是属性, 方法和事件.
属性是在类内部的数据对象, 对于实例属性, 用 DATA 定义, 语法与数据对象声明相同;
对于静态属性(类属性), 使用 CLASS-DATA 语句定义, 在类的声明部分定义.
* Class Declarations
CLASS application DEFINITION.
PUBLIC SECTION.
CLASS-DATA class_name(10) type c value Vehicle. 静态属性
PRIVATE SECTION.
DATA speed TYPE i.
ENDCLASS.
对于公有组件还可以在属性定义语句中增加 READ-ONLY 关键字, 则该属性不能被类外部读取但可被类的内部方法所修改.
除 DATA 外, 也可以使用 CONSTANT 语句定义类常量, 必须在类定义时指定其值.
使用 TYPES 语句在类中定义的数据类型, 相当于静态属性, 其定义方法与普通 ABAP 程序类似.
类方法需要在类的声明和实现两部分进行定义, 在类的声明部分说明方法的参数接口, 在实现部分则通过 ABAP 代码完成具体的功能.
方法的声明关键字为 METHODS 和 CLASS-METHODS.
METHODS meth
IMPORTING ... i1 TYPE ...
EXPORTING ... e1 TYPE ...
CHANGING ... c1 TYPE ...
EXCEPTIONS ... x1 TYPE ...
定义了方法及方法的参数接口, 和 FORM 相似, 但没有 TABLES 参数.
CLASS vehicle DEFINITION.
PUBLIC SECTION.
CLASS-DATA class_name(10) TYPE c VALUE Vehicle.
METHODS: accelerate,
show_speed.
PRIVATE SECTION.
DATA speed TYPE i.
ENDCLASS.
CLASS vehicle IMPLEMENTATION.
METHOD accelerate.
speed = speed + 1.
ENDMETHOD.
METHOD show_speed.
WRITE: / Speed: , speed.
ENDMETHOD.
ENDCLASS.
二. 定义系统全局类.
通过 Class Builder 工具在类型为 K 的 ABAP 类库程序中定义. 如果在一个程序中使用该类, 则整个类库将被载入到程序内存中.
1. 全局类定义.
可以用 SE80 或 SE24 进入 Class Builder 进行创建.
使用全局类.
REPORT z_af_049.
DATA: ob_veh1 TYPE REF TO z_cl_vehicle1.
START-OF-SELECTION.
CREATE OBJECT ob_veh1.
CALL METHOD ob_veh1-show_
您可能关注的文档
- 我们为什么读书.ppt
- A Trip Along the Three Gorges.pptx
- 我国无人机行业发展动态分析.doc
- A Volunteer Teacher 课件.ppt
- 我和筷子做朋友.pptx
- A taste of English humour ppt课件.ppt
- 我们的学校.ppt
- 我国水稻产区主要有三大病害2.doc
- 我国文化产业发展的比较研究.doc
- 我喜爱的建筑.ppt
- 专题06 经济体制(我国的社会主义市场经济体制)-五年(2020-2024)高考政治真题分类汇编(解析版).docx
- 专题11 世界多极化与经济全球化-5年(2020-2024)高考1年模拟政治真题分类汇编(解析版).docx
- 专题03 经济发展与社会进步-5年(2020-2024)高考1年模拟政治真题分类汇编(浙江专用)(解析版).docx
- 专题09 文化传承与文化创新-5年(2020-2024)高考1年模拟政治真题分类汇编(北京专用)(原卷版).docx
- 5年(2020-2024)高考政治真题分类汇编专题08 社会进步(我国的个人收入分配与社会保障)(原卷版).docx
- 专题07 探索世界与把握规律-5年(2020-2024)高考1年模拟政治真题分类汇编(解析版).docx
- 5年(2020-2024)高考政治真题分类汇编专题06 经济体制(我国的社会主义市场经济体制)(原卷版).docx
- 专题11 全面依法治国(治国理政的基本方式、法治中国建设、全面推进依法治国的基本要求)-五年(2020-2024)高考政治真题分类汇编(解析版).docx
- 专题17 区域联系与区域协调发展-【好题汇编】十年(2015-2024)高考地理真题分类汇编(解析版).docx
- 专题01 中国特色社会主义-5年(2020-2024)高考1年模拟政治真题分类汇编(原卷版).docx
文档评论(0)