理论教育 封装ABAP源代码:基类、派生类与测试类的实现

封装ABAP源代码:基类、派生类与测试类的实现

时间:2023-06-12 理论教育 版权反馈
【摘要】:基类包括多个派生类,但该基类是作为模板出现,并不需要有任何对象作为实例。本地类由ABAP源代码组成,封装在CLASS...ENDCLASS中。◆For Testing:ABAP单元的测试类。最终类可同时为抽象类,但只能包含静态成员;最终方法则不可以同时为抽象方法。

封装ABAP源代码:基类、派生类与测试类的实现

对象可以对其内部资源的可见性进行限定,每个对象都有一个接口,决定了其他对象如何与之交互。

基类包括多个派生类,但该基类是作为模板出现,并不需要有任何对象作为实例。

本地类由ABAP源代码组成,封装在CLASS...ENDCLASS中。一个完整的类定义包括声明部和执行部,声明中的<class>部分是一个语句块。

语法:978-7-111-50126-8-Chapter01-1.jpg

它包含类所有部件(属性、方法、事件)的声明。当定义一个本地类时,声明部分属于全局Program数据,所以必须把它放在Program的开始。

如果在类的声明部声明方法,必须也为它写一个执行部。这是由更多的语句块组成的。

语法:978-7-111-50126-8-Chapter01-2.jpg

在类的执行部分包含了所有类方法的执行,本地类的执行部是一个处理块。那些不在一个处理块中的后面的代码是不能访问的。

1.声明为抽象类(AbstractClass)

语法:978-7-111-50126-8-Chapter01-3.jpg

不可用CREATE OBJECT语句创建类对象,只作为派生类模板;抽象方法不可在类本身实现,而要在其派生出的非抽象类中实现。(www.daowen.com)

注:抽象方法的类必须为抽象类,不能在类中实现;在派生类实现中,使用REDEFINTION对类方法重新定义,重新定义过程中不可使用SUPER。

2.最终类和最终方法

语法:978-7-111-50126-8-Chapter01-4.jpg

最终类(Final Class)是不能被继承的类,最终方法是不可重新定义的方法,不一定只出现在最终类中,但最终类中的所有方法都是最终的,而最终类中无需指明FINAL。

注:类的种别决定该类的实例可以被所有用户创建,只能被其本身或派生类创建或只能通过其自身方法创建,ABAP常用类型如下:

◆Final:全局类不能在程序中被继承,即最终类。

◆Abstract:只能被继承不能被实例化。

◆For Testing:ABAP单元的测试类。

最终类可同时为抽象类,但只能包含静态成员;最终方法则不可以同时为抽象方法。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈