interface statement

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.

Defines an interface. An interface is similar to a class, with the following important differences:

Availability: ActionScript 2.0; Flash Lite 2.0

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 {
 return 15;
 } 
 function n(x:Number):Number {
 return x * x;
 } 
 function o():Void {
 trace("o");
 } 
} // external script or Actions panel // script file 
mvar = new D(); 
trace(mvar.k()); // 15 
trace(mvar.n(7)); // 49 
trace(mvar.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");
 } 
} 

See also

class statement