ABAP 面向对象程序设计 (05)- 接口

在这里插入图片描述

ABAP 面向对象编程范式中,接口的概念及用途同其它语言类似,主要的作用是作为一种契约来设定类的方法和属性名称。举一个例子,我们在银行有账号,有储蓄卡的账号,也有信用卡的账号。储蓄账号和信用卡账号的共同点是都有取款 (withdraw) 、存款 (deposit) 和余额 (balance)。在设计的时候可以先创建一个 account 接口,包含 deposit, withdraw 两个方法以及balance 属性,然后储蓄卡类和信用卡类都实现该接口。

定义接口

通过示例来说明接口的语法。ABAP 接口的要点:

  • 只有定义部分,没有实现部分
  • 无 modifier 修饰,接口都是 public 的,并且不用显示标注

下面是 account 接口定义的代码:

在这里插入图片描述

实现接口

先来实现一个储蓄卡账户,储蓄卡账户的要求是余额大于或等于 0,不允许取款超过余额。下面是代码:


在 definition 部分,声明 savings_account 类要实现 account 接口,然后在 implementation 部分实现接口的 withdraw 和 deposit 方法。注意在访问接口的方法或属性的时候,用的 ~ 符号,并且接口的名称 account 必须带上。

创建对象

实现了接口的类,在对象实例的使用过程中,也需要用 ~ 符号来引用:


访问接口的属性或方法,都需要带上 ~ 符号,显得比较繁琐。可以定义一个参照接口的变量,这样可以通过类的访问符号来访问。

源码

github - ABAP-OOP-05

猜你喜欢

转载自blog.csdn.net/stone0823/article/details/110183089