
ABAP OO
文章平均质量分 69
lvzhqi
这个作者很懒,什么都没留下…
展开
-
ABAP OO的八大理由(五)
面向对象模式的数据封装OO模式的编程也有两种数据类型,类实例的属性和类方法中的本地变量。实例属性的生命周期依赖于对象的生命周期,本地变量的生命周期依赖于类方法的生命周期。所以面向对象的本地变量与面向过程的本地变量的生命周期是一样的。它是类方法中的辅助变量与数据封装无关。ABAP对象的数据封装在类这个级别。可以定义类属性的可见性,它的级别分别是在类内可见,在子类中可见,或者在外部类中可原创 2008-01-23 09:00:00 · 1075 阅读 · 0 评论 -
ABAP OO的八大理由(三)
对于面向过程的模式,程序的运行通常是从screen的dialog module或selection screen的start-of-selection事件开始的。你在这些处理模块中操作全局变量来实现需求的功能。你可以通过内部的form和外部的function module来实现程序的模块化。这些过程除了可以操作全局变量外还可以具备内部的本地变量来协助实现内部的一些特定功能。原创 2008-01-18 20:45:00 · 1410 阅读 · 0 评论 -
ABAP OO的八大理由(四)
OO编程优于过程编程的五个原因下面的部分里我们将着重论述OO编程的主要优点,尽管这里所提到的优点与其他的OO语言(JAVA C++)没有什么太大的区别,我们这里着重在ABAP OO与传统的ABAP程序相比而体现处来的优点。我们将通过实现一个银行账户管理的简单例子来比较两种模式的差别。原因一:数据封装将数据和程序封装在一个组件中将使程序变得容易修改。不要把一个应用的所有的数据和功能原创 2008-01-20 11:39:00 · 1469 阅读 · 0 评论 -
ABAP OO的八大理由(二)
1. ABAP OO更加明确所以更易于使用。例如在使用ABAP OO你的程序的执行流程不再是由运行时隐含的控制。这样你就可以自己去设计程序所执行的流程了而不必像面向过程那样去了解和服从外部控制机制(即报表和dialog screen的事件)。2. ABAP OO具有更加清晰的语法和语义规则,比如一些容易出错的过时的语句在ABAP OO类中已经明确不能再使用原创 2008-01-16 21:30:00 · 1506 阅读 · 0 评论 -
ABAP OO的八大理由(-)
几年前SAP BASIS 4.6为ABAP扩展了OO功能,这是很多传统的ABAP程序员陷入困境。首先对于ABAP程序员来说它们终于可以通过OO这种开发方法得潜在价值来提高开发效率和所开发程序的可维护性了。然而一直以来习惯于面向过程编程的ABAPER迅速的转向OO模式也不是那么容易,很多人还是坚持使用传统的面向过程的开发模式,他们觉得不用OO也可以得到他们想要的。这篇文章的主要目的便是让你明白原创 2008-01-14 21:14:00 · 1750 阅读 · 0 评论 -
ABAP OO的八大理由(THE END)
将经典的屏幕逻辑从OO的应用程序中分离出来正如你所看到的,在大部分程序中屏幕逻辑和应用逻辑是紧密地联系在一起的。这些程序都是用户通过在屏幕中输入数据来驱动的,应用逻辑都写在modue或event block中。而对于ABAP OO来说,它主要是用来写应用逻辑而非屏幕逻辑。面向对象的ABAP OO不支持屏幕编程。如果你想用OO的模式编写ABAP程序,你可能面临的问题便是如何把屏幕程序与原创 2008-02-28 16:27:00 · 1072 阅读 · 0 评论 -
ABAP OO的八大理由(十七)
原因3:ABAP OO支持一些新的技术SAP许多新的技术都是基于ABAP OO的,那么在你的项目中必须对面对这一点。许多基础的技术都在ABAP OO中发布了,这些包括:l User dialog的架构,如SAP control framework(CFW),Business Server Pages(BSP)以及Desktop Office Integration(D原创 2008-02-26 11:49:00 · 837 阅读 · 0 评论 -
ABAP OO的八大理由(十五)
原因2:ABAP OO在类中有更严格的语法检查面向过程的ABAP经历了较长时间的成长,这也带来了如下结果:l 存在着大量的过时的语句l 存在着很多交叉的概念l 有一些奇怪的系统行为l 有些技术显得较难理解由于不能影响已有的代码,ABAP OO的版本引入了更加严格的语法检查以剔出面向过程的ABAP程序一些弊原创 2008-02-20 15:54:00 · 1140 阅读 · 0 评论 -
ABAP OO的八大理由(十六)
下面的例子比较了两种模式下从数据库中取数的不同之处:在面向过程的ABAP程序中:TABLES:dbtab.SELECT * FROM dbtab.在面向对象的ABAP程序中DATA wa TYPE dbtab.SELECT * INTO wa FROM dbtab.TABLES隐含的声明了一个与数据库表名相同的结构变量,那么对数据库表内容的操作都使用这个隐含的变量原创 2008-02-21 16:02:00 · 1227 阅读 · 0 评论 -
ABAP OO的八大理由(十三)
是否已经决定转向ABAP OO了从SAP 4.6C开始,ABAP已经成为既可以面向过程又可以面向对象的混合式语言了。使用了ABAP OO的新特征将使你的ABAP开发大受裨益。这些新特征包括:u 类是对象的模版u 对象是通过指针变量来引用的u 继承u 独立的interfaceu 对象可以触发和处理事件前原创 2008-02-14 16:41:00 · 1184 阅读 · 0 评论 -
ABAP OO的八大理由(十二)
原因五,事件应用中,用户界面的鼠标单击,新帐户的建立,都可以触发一个事件,这个事件要被他感兴趣的处理者知道。事件和事件处理与调用过程有相似之处:触发事件就相当于调用自程序,处理事件就相当于被调用子程序的主程序。区别是被调用的子程序和调用程序是帮定的一块儿的,而事件则不同,处理者有可能处理触发的事件,但也不一定。面向过程的ABAP的事件处理是通过运行时来实现的。而在OO中,类和对象既可以触原创 2008-02-13 13:14:00 · 1136 阅读 · 0 评论 -
ABAP OO的八大理由(十四)
学会ABAP OO一些简单的语句之后,你就可以通过开发程序直接告诉系统它需要做什么。需要系统做什么是由你明确告诉你的,系统不会做任何隐含的动作。你不需要为了了解系统一些隐含的动作而去读大量的文档,你只需去看程序本身就可以了。下面的代码演示了如何把一个面向过程的逻辑数据库程序转换为面向对象的逻辑数据库程序,他会变得更加清晰。CLASS ldb DEFINITION. PUBLIC原创 2008-02-15 10:53:00 · 998 阅读 · 0 评论 -
ABAP OO的八大理由(十)
原因4:INTERFACEINTERFACE通俗的讲就是通过一个程序来调用另外一个程序的数据和功能。在模块化和相互访问的世界中,INTERFACE提供了两个部件之间联系的桥梁。在ABAP OO中提供了类与调用者之间独立的INTERFACE,这样就把类和使用者之间分离开来。而在ABAP OP(oriented procedure)中没有独立的INTERFACE,而是提供了程序之间隐式的原创 2008-01-29 23:00:00 · 1128 阅读 · 0 评论 -
ABAP OO的八大理由(十一)
INTERFACE通过语句INTERFACE….ENDINTERFACE来定义。它可以有与类一样的部件。任何类都可以有一个或多个INTERFACE。通过在类的public部分进行声明,这样在interface中定义的public部分就成为类public interface的一部分。包含独立interface的类必须为类提供服务,这样用户可以通过interface来访问类,而无需知道其中的访问原创 2008-01-31 22:23:00 · 1019 阅读 · 0 评论 -
ABAP OO的八大理由(九)
下面的例子是一个修改版的帐户,他已经作为两个子类checking account和saving account的父类。CLASS account DEFINITION. PUBLIC SETION. PROTECTED SETION. DATA amount TYPE accounts-amount.ENDCLASS.CLASS account IMPLEMEN原创 2008-01-28 22:34:00 · 1061 阅读 · 0 评论 -
ABAP OO的八大理由(八)
原因三:代码重用性代码重用性是软件维护和开发的一个重要衡量指标。我们应当把一些通用的代码放在一个中心库里,而无须一遍一遍的重复编写功能相似的代码。下面就在代码重用方面检查一下ABAP OO和ABAP OP孰优孰劣。面向过程的代码重用性在面向过程的模式中没有什么专门的机制来支持代码的重用性。你可以定义通用的过程,但是如果你想在特殊情况下使用通用代码,你不得不建立很庞大的模块池,每个原创 2008-01-26 22:02:00 · 1180 阅读 · 0 评论 -
ABAP OO的八大理由(六)
原因二,实例化对象的实例化是面向对象编程的一个重要特点。在ABAP OO中,通过实例化你可以实现一个类的多个变体,这样程序员便可以调用任何一个对象并让他完成相应的功能(比如一个银行帐号的收款存款和窗户的打开关闭等)。在面向过程的编程中,当程序内容被编译到内存中便隐含着一个实例化的过程,但是这个实例并不能为程序员显式的调用,因为这需要数据和功能的分离,而面向过程的的程序员并不是直接对对原创 2008-01-25 10:36:00 · 1064 阅读 · 0 评论 -
ABAP OO的八大理由(七)
面向对象的实例化行如其名,在面向对象的模式中,对象是唯一存在的东西。对象是类的实例,是通过CREATE OBJECT语句来实现的。ABAP对象不可能被隐含的实例化,你通过指针变量来操作对象。当然你通过指针所操作的对象不一定是自己创建的,这种现象主要是通过指针操作的对象很有可能是从其他地方传过来的,比如说工厂方法(factory method)或者接口参数。你可以在一个类中创建多个对象原创 2008-01-25 22:46:00 · 1165 阅读 · 0 评论 -
ABAP--ABAP语言对象编程的一些样例代码连接收集 (thanks to jack wu)
1)ABAP语言对象编程Why Use ABAP Objects Why Use ABAP Objects Exercise Eight Reasons Why Every ABAP Developer Should Give ABAP Objects a Second Look An Insiders Guide to Writing Robust, Understandab转载 2008-09-08 09:14:00 · 1614 阅读 · 0 评论