对象可以对其内部资源的可见性进行限定,每个对象都有一个接口,决定了其他对象如何与之交互。
基类包括多个派生类,但该基类是作为模板出现,并不需要有任何对象作为实例。
本地类由ABAP源代码组成,封装在CLASS...ENDCLASS中。一个完整的类定义包括声明部和执行部,声明中的<class>部分是一个语句块。
语法:
它包含类所有部件(属性、方法、事件)的声明。当定义一个本地类时,声明部分属于全局Program数据,所以必须把它放在Program的开始。
如果在类的声明部声明方法,必须也为它写一个执行部。这是由更多的语句块组成的。
语法:
在类的执行部分包含了所有类方法的执行,本地类的执行部是一个处理块。那些不在一个处理块中的后面的代码是不能访问的。
1.声明为抽象类(AbstractClass)
语法:
不可用CREATE OBJECT语句创建类对象,只作为派生类模板;抽象方法不可在类本身实现,而要在其派生出的非抽象类中实现。(www.daowen.com)
注:抽象方法的类必须为抽象类,不能在类中实现;在派生类实现中,使用REDEFINTION对类方法重新定义,重新定义过程中不可使用SUPER。
2.最终类和最终方法
语法:
最终类(Final Class)是不能被继承的类,最终方法是不可重新定义的方法,不一定只出现在最终类中,但最终类中的所有方法都是最终的,而最终类中无需指明FINAL。
注:类的种别决定该类的实例可以被所有用户创建,只能被其本身或派生类创建或只能通过其自身方法创建,ABAP常用类型如下:
◆Final:全局类不能在程序中被继承,即最终类。
◆Abstract:只能被继承不能被实例化。
◆For Testing:ABAP单元的测试类。
最终类可同时为抽象类,但只能包含静态成员;最终方法则不可以同时为抽象方法。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。