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 {