interface

可用性

Flash Player 6。

用法

interface InterfaceName {}
interface InterfaceName [extends InterfaceName [, InterfaceName ...] {}

注意:若要使用此关键字,必须在 FLA 文件的“发布设置”对话框的“Flash”选项卡上指定“动作脚
本 2.0”和“Flash Player 6”或更高版本。仅支持在外部脚本文件中使用此关键字,而不支持在用“动作”面板编写的脚本中使用此关键字。

说明

关键字;定义接口。接口与类相似,但也具有以下重要差异:

有关更多信息,请参见创建和使用接口

示例

以下示例显示用于定义和实现接口的若干方法。

(在顶层包 .as 文件 Ia、B、C、Ib、D、Ic、E 中)

// 文件名 Ia.as
interface Ia
{
  function k():Number;         // 仅限方法声明
  function n(x:Number):Number; // 不实现 
}
// 文件名 B.as
class B implements Ia
{
  function k():Number {return 25;}
  function n(x:Number):Number {return x+5;}
} 
// 外部脚本或“动作”面板
mvar = new B();
trace(B.k());   // 25
trace(B.n(7)); // 12

// 文件名 c.as
class C implements Ia
{
  function k():Number {return 25;}
} // 错误:类必须实现所有接口方法

// 文件名 Ib.as
interface Ib
{
  function o():Void;
} 
class D implements Ia, Ib
{
  function k():Number {return 15;}
  function n(x:Number):Number {return x*x;}
  function o():Void {trace("o");} 
} 

// 外部脚本或“动作”面板
mvar = new D();
trace(D.k());   // 15
trace(D.n(7));  // 49
trace(D.o());   // "o"

interface Ic extends Ia
{
  function p():Void;
} 
class E implements Ib, Ic
{
  function k():Number {return 25;}
  function n(x:Number):Number {return x+5;}
  function o():Void {trace("o");} 
  function p():Void {trace("p");} 
} 

另请参见

classextendsimplements