- 1、本文档共51页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第11章ABAP面向对象编程 面向对象(Object-Oriented,即OO)是一种软件设 计与开发的思想和方法,它按照人们认识客观世界的 系统思维方式,采用基于对象(实体)的概念建立模 型,模拟客观世界分析、设计、实现软件的方法,通 过面向对象的理念使计算机软件系统能与现实世界中 的系统一一对应,该方法区别于传统的面向过程的 程序设计,即通过过程或函数块来完成某些任务的传 统程序设计方法。 对象(Object):对象是指客观世界中存在的各种各样的实 体,也可以指具体或抽象的事物,不同的业务领域的模型关心 的实体会不同, 类(Class):类是具有相似内部状态和运动规律的实体的集 合。 消息(Message):消息是指对象间相互联系和相互作用的方 式 类的特性 抽象(Abstraction) 封装(Encapsulation) 继承(Inheritance) 多态(Polymorphism) 重载(Overloading) 面向对象的优点 面向对象可以使复杂的软件系统易于理解,因为面向对象的程 序设计更好的实现了计算机语言对真实世界的抽象化和模拟。 在设计良好的面向对象系统中,对系统的维护有可能被限定在 类级别,即系统的重新设计只需要对类属性或方法进行修改, 而不需要涉及所有其他系统元素,这将大大减轻系统的维护负 担;通过多态和继承 ,面向对象程序设计可实现不同类之间的组 件复用;对面向对象系统的修订和维护的工作量较一般系统而 言将大量减轻,因为大部分的问题将在系统设计阶段被发现并 加以改正。 类的声明与实现 类的声明部分的代码如下: CLASS class DEFINITION [class_options] [PUBLIC SECTION. ??????[components]] 公共的类成员 ????[PROTECTED SECTION. 受保护的类成员 ??????[components]] ????[PRIVATE SECTION. ??????[components]] 私有的类成员 ??ENDCLASS. 类的实现部分的代码如下: CLASS class IMPLEMENTATION. ... ?METHOD ... ??????... ????ENDMETHOD. ????... ??ENDCLASS. 类成员的可见范围 公共部分(PUBLIC SECTION):公共部分定义的类 成员可以被所有的外部对象使用,包括类的方法及其派 生类中定义的方法,公共部分的成员(尤其是方法)构 成了类对外界的接口。 保护部分(PROTECTED SECTION):保护部分定义 的类成员只能被类及其派生类中的方法使用,对其它类 或程序不可见。 私有部分(PRIVATE SECTION):私有部分定义的 类成员则只能被该类自身的其它成员所访问。 类的成员类型 在ABAP类中可以定义的成员类型有三种,即类的属性、方法和事件。 属性: 属性是类内部的数据对象,用于描绘类的状态。类的属性在类的声明部分进行 定义,所有的ABAP类型都可以用于定义类的属性。在类属性的定义中,类的 实例属性用DATA来定义,而类属性(静态的成员)则通过CLASS-DATA关 键字来声明,如: CLASS test_class DEFINITION. PUBLIC SECTION. CLASS-DATA test_text TYPE string VALUE ‘Hello World’. PROTECTED SECTION. DATA counts TYPE i. ENDCLASS. 除使用DATA语句定义类属性外,还可以使用CONSTANT语句来 定义类的常量成员,类常量不能在编译和运行期间修改,必须在类 定义时指明其值;还可以使用TYPES语句在类中定义数据类型,数 据类型也相当于静态属性,其定义方法与普通ABAP的程序类似, 如: CLASS test_class DEFINITION. PUBLIC SECTION. CONSTANTS pi TYPE p VALUE 3.14. 公共常量 TYPES myid_type(18) TYPE c . 自定义类型 ENDCLASS. 方法 : 声明方法的关键字有METHODS和CLASSMETHODS;其中METHODS用于声明 对象实例方法,而CLASSMETHODS用于声明类方法(静态方法),方法实现部 分的代码应该放在关键字METHOD和ENDMETHOD之间。常用的方法声明语句语 法如下: METHODS meth [ABSTRACT|FINAL] ????[IMPORT
文档评论(0)