ABAP OO使用总结

【博主SAP/ABAP交流群53144545

ABAP面向对象的一些总结,基本上和其他语言的OO差不多,先整理一些专用名字。

superclass:父类,基类,超类。

subclass:子类。

method:方法,相当于其他语言中的函数function,和ABAP的Function Module作用类似。

signature:方法参数。

constructor:构造函数,一种特殊的方法,类初始化时被执行

instantiate:实例化,objectclass的实例化。

overload:重载,一个类里多个同名的函数。

override:重写,子类重新改写父类里的同名函数,关键字Redefinition。

 

ABAP不支持方法重载,即同一个类下不能有同名的方法,哪怕参数不同。

ABAP支持方法重写子类里可以通过redefinition关键字重写父类的同名方法

若子类里不对父类的某方法进行重写,那子类实例调用该方法时会调用父类里的方法。

构造方法是一种特殊的方法,在create object时就执行,不能通过call method->constructor显示调用。

构造方法只能有输入参数和异常,无输出参数。

构造方法的实现可以在子类里重写,但在定义时不支持redefinition关键字。

子类构造方法实现里,必须先调用父类构造方法

子类里可以不定义构造方法,那样的话在程序里实例化时默认调用父类构造方法

构造方法允许子类父类定义不同的参数,这点是和一般的方法是不同的。

静态变量和静态方法在程序运行时就存在,不需要实例化也可以使用。

静态方法里只能使用静态变量(但是静态变量可以被实例方法调用)。

静态方法不能在子类里重写。

class_constructor是静态构造方法。

静态构造方法不能显示调用,在程序运行时就执行。

静态构造方法没有参数。

常量(constant)的调用方法和静态变量相同。

抽象类不能被当前定义的类里实例化,只能在子类里被实例化(如果该子类不是抽象类)。

抽象类必须至少有一个抽象方法,且只是定义但不能被实现,只能在子类里通过Redefinition重写实现。

ABAP是单继承,子类只能继承一个父类,不能继承多个父类。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值