与类相似,接口也定义一种新的数据类型。任何实现某个接口的类都可被看作属于该接口所定义的类型。这有助于确定给定的对象是否实现了给定的接口。例如,考虑一下以下接口。
interface Movable { function moveUp(); function moveDown(); }
现在,考虑一下实现 Movable 接口的 Box 类。
class Box implements Movable { var x_pos, y_pos; function moveUp() { // 方法定义 } function moveDown() { // 方法定义 } }
然后,在另一个创建了 Box 类的实例的脚本中,您可以声明一个 Movable 类型的变量。
var newBox:Movable = new Box();
在 Flash Player 7 和更高版本中,可在运行时为表达式指定接口类型。如果该表达式是一个实现该接口的对象,或具有实现该接口的超类,则返回该对象。否则,将返回 null
。这可用于判断特定对象是否实现了某个接口。
例如,以下代码首先检查对象名 someObject
是否实现了 Movable 接口,然后对该对象调用 moveUp()
方法。
if(Movable(someObject) != null) { someObject.moveUp(); }