简述
与 ABAP 中的类类似,接口充当对象的数据类型。接口的组件与类的组件相同。与类的声明不同,接口的声明不包括可见性部分。这是因为接口声明中定义的组件始终集成在类的公共可见性部分中。
当两个相似的类具有相同名称的方法但功能彼此不同时,就使用接口。接口可能看起来与类类似,但接口中定义的函数是在类中实现的,以扩展该类的范围。接口和继承特性为多态性提供了基础。这是因为接口中定义的方法在不同的类中可能表现不同。
以下是创建接口的一般格式 -
在此语法中,<intf_name> 表示接口的名称。DATA 和 CLASSDATA 语句可分别用于定义接口的实例属性和静态属性。METHODS 和 CLASS-METHODS 语句可分别用于定义接口的实例方法和静态方法。由于接口的定义不包含实现类,因此不需要在接口的声明中添加DEFINITION子句。
Note− 接口的所有方法都是抽象的。它们已完全声明,包括其参数接口,但未在接口中实现。所有想要使用接口的类都必须实现该接口的所有方法。否则,该类将成为抽象类。
我们在类的实现部分使用以下语法 -
在此语法中,<intf_name> 表示接口的名称。请注意,此语法必须在类的公共部分中使用。
以下语法用于在类的实现中实现接口的方法 -
在此语法中,<intf_name~method_m> 表示 <intf_name> 接口的方法的完整声明名称。