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 = . write / dvd->mediaplayer~dd.
ABAP接口用法的更多相关文章
- (实用篇)php支付宝接口用法分析
本文实例讲述了php支付宝接口用法.分享给大家供大家参考.具体分析如下: 现在流行的网站支持平台,支付宝当仁不让的老大了,现在我们就来告诉你如何使用支付宝api来做第三方支付,把支付宝放到自己网站来, ...
- php新浪微博登录接口用法实例
本文实例讲述了php新浪微博登录接口用法.分享给大家供大家参考.具体分析如下: 在做微博登陆之前是需要申请到APP KEY 和App Secret,这个的申请方式请去 open.weibo.com 申 ...
- Java语言Socket接口用法详解
Socket接口用法详解 在Java中,基于TCP协议实现网络通信的类有两个,在客户端的Socket类和在服务器端的ServerSocket类,ServerSocket类的功能是建立一个Serve ...
- Android中Parcelable与Serializable接口用法
转自: Android中Parcelable接口用法 1. Parcelable接口 Interface for classes whose instances can be written to a ...
- JS版微信6.0分享接口用法分析
本文实例讲述了JS版微信6.0分享接口用法.分享给大家供大家参考,具体如下: 为了净化网络,整顿诱导分享及诱导关注行为,微信于2014年12月30日发布了<微信公众平台关于整顿诱导分享及诱导关注 ...
- ABAP接口之Http发送json报文
abap 调用http 发送 json 测试函数 SE11创建结构:zsmlscpnotice SE37创建函数:zqb_test_http_fuc1 FUNCTION zqb_test_http_f ...
- Android中Parcelable接口用法
from: http://www.cnblogs.com/renqingping/archive/2012/10/25/Parcelable.html Interface for classes wh ...
- abap append 用法
[转自http://blog.chinaunix.net/uid-7982817-id-91999.html]Append用法总结 2008-11-14 11:42:19 分类: Syntax APP ...
- jmeter的简单http接口用法
1. jmeter的启动:windows下的环境 进入jmeter的并目录双击启动 Mac电脑 进入bin目录找到jmeter.sh 文件 在终端执行./jmeter.sh 或者./jmeter. ...
随机推荐
- sql 的基础语句
USE day15; -- 创建表CREATE TABLE teacher( id INT, NAME VARCHAR(20))-- 查看所有表SHOW TABLES; DESC student; D ...
- JavaScript-Tool:three.js
ylbtech-JavaScript-Tool:three.js Three.js 是一款运行在浏览器中的 3D 引擎,你可以用它创建各种三维场景,包括了摄影机.光影.材质等各种对象.你可以在它的主页 ...
- JQuery EasyUI validate 扩展
validate 扩展js $.extend($.fn.validatebox.defaults.rules, { equals: { validator: function(value,param) ...
- 关于从request对象中获取路径的问题
从request对象中获取路径的问题:例如: 项目名为:tmall_web 请求的servlet名为:loginServlet 示例代码如下: @Override protected void ...
- CentOS 下部署Nginx+Gunicorn+Supervisor部署Flask项目
原本之前有一部分东西是在Windows Server,但是由于Gunicorn不支持Windows部署起来颇为麻烦.最近转战CentOS,折腾一段时间,终于简单部署成功.CentOS新手,作为一个总结 ...
- jquery获取元素对应高度
https://www.cnblogs.com/sntetwt/p/3823592.html 获取点击元素距离页面的高度 $(select).offset().top - $(document).sc ...
- wordcount作业
搭档:201631062427,201631062627 代码地址:https://gitee.com/oyyyyyy/wordcount 作业地址: 一: 代码互审情况 我们采用的都是c语言的方式完 ...
- ue4 bp singleton
.h UCLASS(Blueprintable) class USingletonBP: public UObject { GENERATED_UCLASS_BODY() /** * Singleto ...
- MySQL注释符号
今天在执行mysql语句时很奇怪为什么没有执行,查询后发现“-- ”是mysql的注释符号,不会执行的 mysql注释符有三种: 1.#... 2."-- ",注意--后面有一个 ...
- linux下提示/usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.14' not found 解决办法
1.查看gcc版本中包含哪些库. strings /usr/lib64/libstdc++.so.6 | grep GLIBC GLIBCXX_3. GLIBCXX_3.4.1 GLIBCXX_3.4 ...