User Guide

218 ActionScript language elements
interface statement
interface InterfaceName [extends InterfaceName ] {}
Defines an interface. An interface is similar to a class, with the following important
differences:
Interfaces contain only declarations of methods, not their implementation. That is, every
class that implements an interface must provide an implementation for each method
declared in the interface.
Only public members are allowed in an interface definition; instance and class members
are not permitted.
The get and set statements are not allowed in interface definitions.
Availability: ActionScript 2.0; Flash Player 6
Example
The following example shows several ways to define and implement interfaces:
(in top-level package .as files Ia, B, C, Ib, D, Ic, E)
// filename Ia.as
interface Ia {
function k():Number; // method declaration only
function n(x:Number):Number; // without implementation
}
// filename B.as
class B implements Ia {
function k():Number {
return 25;
}
function n(x:Number):Number {
return x + 5;
}
} // external script or Actions panel // script file
var mvar:B = new B();
trace(mvar.k()); // 25
trace(mvar.n(7)); // 12
// filename c.as
class C implements Ia {
function k():Number {
return 25;
}
} // error: class must implement all interface methods
// filename Ib.as
interface Ib {
function o():Void;
}
class D implements Ia, Ib {
function k():Number {