是否已经决定转向ABAP OO了
从SAP 4.6C开始,ABAP已经成为既可以面向过程又可以面向对象的混合式语言了。使用了ABAP OO的新特征将使你的ABAP开发大受裨益。
这些新特征包括:
u 类是对象的模版
u 对象是通过指针变量来引用的
u 继承
u 独立的interface
u 对象可以触发和处理事件
前面已经详细描述了这五个特点,当然,这是所有面向对象语言都具有的特性,不过ABAP是专门面向商务应用的语言。它比java和c++更加简单,去掉了那些复杂并且容易出错的概念。它引入了触发事件和处理事件的机制,这种机制在其他语言中只有interface才具有。
如果还是没有决定是否完全的跨向ABAP OO,ABAP语言的混合性使你仍然可以把ABAP OO和面向过程的模式混合使用。这种方式既保护了已有的面向过程的ABAP产品又可以让你充分利用ABAP OO的新特性。下面将进一步从三个方面阐述如何用ABAP OO来提升你的ABAP程序。
通过ABAP OO提升ABAP程序的另外三个理由
前面主要针对OO编程的特点和方法阐述了ABAP OO的好处。不过对于ABAP本身它还有额外的好处。下面将着重介绍如何通过这些方面来以较少的成本来提升ABAP程序,尽管你还不想完全转入ABAP OO。
原因1,ABAP OO更明确更容易被使用。
使用ABAP对象更加明确容易被使用。透过表面你将会发现他有更大的益处。看下面一个简单的报表的例子。
REPORT simple_report.
NODES spfli.
GET spfli.
WRITE: / spfli-carrid, spfli-connid …
认为它简单的原因是你并不知道后台发生了什么。代码看起来简单,但是后台的运行却并不简单。通过查看文档你就会发现运行这个与逻辑数据联系在一块儿的报表的流程至少包括十个步骤,其中至少有一个循环和两个屏幕的处理。早期的ABAP,这种方式是想给应用开发人员提供一个自动的报表处理机制。如果你能看到效果的话,自动化从直觉上来看是很好的,否则你就会觉得无所适从。所以,如果你在一个熟悉的领域进行开发一切都OK,一旦进入到一个不熟悉的环境,一切都变得那么高深莫测。比如:
l 我们对全局变量接口的认识,它是屏幕和应用程序的接口,也是程序和逻辑数据库之间的接口。
l 面向过程的ABAP程序很多方面都是有运行时自动控制的,他们是被屏幕或程序流所驱动的。
相比之下ABAP对象就会变得比较简单,它不容易出错,并且是由许多简单和独立的概念组合而成的。
l 类具有属性和方法
l 对象是类的实例
l 对象是通过指针变量来访问的
l 对象有独立的interface
转载于:https://www.cnblogs.com/andyfurong/archive/2011/01/05/1926417.html