1.1.3  继承

更新于 2026年10月10日 版权声明
1.1.3 继承

继承可以定义多个类之间的执行关系,可以从已存在类的基础上建立新的派生类,派生类可以继承原有类的方法与属性,或者添加新的类成员;高级类的运行方式也可能得到调整和扩展。

继承允许从一个类中引出新的类。新的类叫子类(Sub Class),被引出的类叫父类(Super Class)。

1.继承的声明

语法:图示

在子类中,父类的类型为Public和Protected的组件才是可见的,并且继承只能是单继承。所有ABAP对象的根类是OBJECT。

2.方法的重定义

语法:图示

方法的重用使用声明REDEFINITION在METHODS中定义,但是不能改变它的接口。用ME->代替自身的对象变量,用SUPER->代替父类的对象变量。(https://www.daowen.com)

在类定义时,使用INHERTING FROM附加项可以指定各个子类之间的继承关系。ABAP中继承为单一继承,即一对多。

3.继承过程中各个成员的可见性

■派生类中的公有成员以及基类的公有成员,都可以通过"->"在类外部获得。

■派生类的被保护成员以及基类的被保护成员,都不可以通过"->"在类外部获得,但可

在派生类内部使用。

■派生类中的私有成员只包括其本身私有部分定义的成员,只能在派生类内部使用。

继承类和基类的公有成员和被保护成员享有共同的命名空间,而私有成员则可在不同类之间出现重名情况。基类应用变量可以指向其继承类对象,反之则会被视为错误的类型转换。

↑上一章 ↓下一章
关注公众号获取验证码
复制内容需要验证码(7.99元/天)