User Guide
interface 335
interface
Availability
Flash Player 6.
Usage
interface InterfaceName [extends InterfaceName ] {}
Note: To use this keyword, you must specify ActionScript 2.0 and Flash Player 6 or later in the Flash
tab of your FLA file’s Publish Settings dialog box. This keyword is supported only when used in
external script files, not in scripts written in the Actions panel.
Description
Keyword; 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.
For more information, see “Creating and using interfaces” in Using ActionScript in Flash.
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
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
CHAPTER 2
ActionScript Language Reference