ABAP接口用法

1、定义接口
INTERFACE intf [PUBLIC].
  [components]
ENDINTERFACE.

2、注意点:

2.1、接口中所定义的所有东西默认都是公共的,所以不用也不能写PUBLIC SECTION。

2.2、只有在接口中定义的常量(CONSTANTS)才可以使用 VALUE 选项来初始化,而DATA、CLASS-DATA定义的变量是不能初始化

2.3、接口定义中也只能包含成员声明部分,而具体的实现将在具体类中进行

2.4、如果要实现某个接口,则在类的公共声明PUBLIC SECTION部分进行实现,其余部分不行

3、定义一个接口 MediaPlayer,表示家庭影院的一个设备。MediaPlayer 中包含 play(),stop(), open()三个方法,分别表示播放、停止和开仓功能。
MediaPlayer 有三个实现类,分别为: DVDPlayer,表示 DVD 播放器; CDPlayer,表示 CD 播放器;TapePlayer,表示录音机(播放磁带)。

INTERFACE mediaplayer.
  CONSTANTS pi TYPE f VALUE ‘3.1415926‘.
  CLASS-DATA dd type f .
  METHODS: play,stop,open.
ENDINTERFACE.

CLASS dvdplayer DEFINITION.
  PUBLIC SECTION.
    INTERFACES mediaplayer.
ENDCLASS.

CLASS dvdplayer IMPLEMENTATION.
   METHOD mediaplayer~play.
      WRITE / ‘dvd is play‘.
   ENDMETHOD.
   METHOD mediaplayer~stop.
      WRITE / ‘dvd is stop‘.
   ENDMETHOD.
   METHOD mediaplayer~open.
      WRITE / ‘dvd is open‘.
   ENDMETHOD.
ENDCLASS.

CLASS cdplayer DEFINITION.
  PUBLIC SECTION.
    INTERFACES mediaplayer.
ENDCLASS.
CLASS cdplayer IMPLEMENTATION.
   METHOD mediaplayer~play.
      WRITE / ‘cd is play‘.
   ENDMETHOD.
   METHOD mediaplayer~stop.
      WRITE / ‘cd is stop‘.
   ENDMETHOD.
   METHOD mediaplayer~open.
      WRITE / ‘cd is open‘.
   ENDMETHOD.
ENDCLASS.

CLASS tapeplayer DEFINITION.
  PUBLIC SECTION.
    INTERFACES mediaplayer.
ENDCLASS.
CLASS tapeplayer IMPLEMENTATION.
   METHOD mediaplayer~play.
      WRITE / ‘tape is play‘.
   ENDMETHOD.
   METHOD mediaplayer~stop.
      WRITE / ‘tape is stop‘.
   ENDMETHOD.
   METHOD mediaplayer~open.
      WRITE / ‘tape is open‘.
   ENDMETHOD.
ENDCLASS.

*声明对象
DATA: dvd TYPE REF TO dvdplayer,
      cd TYPE REF TO cdplayer,
      tape TYPE REF TO tapeplayer.

START-OF-SELECTION.

CREATE OBJECT dvd.
CREATE OBJECT cd.
CREATE OBJECT tape.

CALL METHOD dvd->mediaplayer~play.

CALL METHOD cd->mediaplayer~stop.

CALL METHOD tape->mediaplayer~open.

write / dvd->mediaplayer~pi.
write / dvd->mediaplayer~dd.

dvd->mediaplayer~dd = 1.

write / dvd->mediaplayer~dd.

原文地址:https://www.cnblogs.com/miaosj/p/10338614.html

时间: 2024-10-18 05:05:47

ABAP接口用法的相关文章

(实用篇)php支付宝接口用法分析

本文实例讲述了php支付宝接口用法.分享给大家供大家参考.具体分析如下: 现在流行的网站支持平台,支付宝当仁不让的老大了,现在我们就来告诉你如何使用支付宝api来做第三方支付,把支付宝放到自己网站来, alipay_config.php配置程序如下: <?php */ //alipay_config.php 配置程序 $interfaceurl = "https://www.alipay.com/payto:"; $sitename = "网站名称"; $we

Android中Parcelable与Serializable接口用法

转自: Android中Parcelable接口用法 1. Parcelable接口 Interface for classes whose instances can be written to and restored from a Parcel. Classes implementing the Parcelable interface must also have a static field called CREATOR, which is an object implementing

Java语言Socket接口用法详解

Socket接口用法详解   在Java中,基于TCP协议实现网络通信的类有两个,在客户端的Socket类和在服务器端的ServerSocket类,ServerSocket类的功能是建立一个Server,并通过accept()方法随时监听客户端的连接请求. 扩展: ServerSocket中常用的构造函数及方法 构造函数:ServerSocket(int port) 这是一个构造方法,用于在当前的服务器默认的IP地址上监听一个指定的端口,即在指定的IP和端口创建一个ServerSocket对象

Android中Parcelable接口用法

from: http://www.cnblogs.com/renqingping/archive/2012/10/25/Parcelable.html Interface for classes whose instances can be written to and restored from a Parcel. Classes implementing the Parcelable interface must also have a static field called CREATOR

Android中Parcelable接口用法(转自Harvey Ren)

1. Parcelable接口 Interface for classes whose instances can be written to and restored from a Parcel. Classes implementing the Parcelable interface must also have a static field called CREATOR, which is an object implementing the Parcelable.Creator int

在ECC系统中设置外部断点进行ABAP接口程序Debug的方法

Step1:使用事务码SU01设置外部断点触发用户的类型为:A对话,如下图1所示 图1 Step2:设置外部断点触发用户: 由于外部断点针对特定的连接账户,所以需要首先设置触发外部断点的接口用户. 图2 图3 Step3:在程序中设置断点. SE37打开要设置断点程序,将光标定位在要设置断点的程序行,选择Utilities-  ->External Breakpoints -> Set/Delete External Breakpoint设置断点.

abap append 用法

[转自http://blog.chinaunix.net/uid-7982817-id-91999.html]Append用法总结 2008-11-14 11:42:19 分类: Syntax APPEND { wa        | {INITIAL LINE}        | {LINES OF jtab [FROM idx1] [TO idx2]} }    TO itab [SORTED BY comp]    [ {ASSIGNING <fs> [CASTING]} | {REFE

android之set接口用法

最近项目上遇到了,要排序数据库中的日期,查了一下java的api发现Set接口可以实现自己的效果,研究了一下 Set接口 Set不允许包含相同的元素,如果试图把两个相同元素加入同一个集合中,add方法返回false. Set判断两个对象相同不是使用==运算符,而是根据equals方法.也就是说,只要两个对象用equals方法比较返回true,Set就不 会接受这两个对象. HashSet HashSet有以下特点  不能保证元素的排列顺序,顺序有可能发生变化  不是同步的  集合元素可以是

Java + selenium Timeout接口用法介绍

上一篇介绍了关于如何启动浏览器的方法.这篇文章要介绍一下,上一篇代码中关于等待时间的接口方法,代码如下: driver.manage().timeouts().pageLoadTimeout(5, TimeUnit.SECONDS); 在调用timeouts()接口之前,我们调用了manage()接口,这个接口下的操作都是用来控制浏览器本身的. timeout接口有以下三种常用的接口. implicitlyWait():隐式时间等待是在查找元素的时候,设置一个最大时间值,如果driver第一次没