Flash CS3 Documentation |
|||
| ActionScript 2.0 Language Reference > ActionScript language elements > Statements > interface statement | |||
interface InterfaceName [extends InterfaceName ] {}
Defines an interface. An interface is similar to a class, with the following important differences:
get and set statements are not allowed in interface definitions.Availability: ActionScript 2.0; Flash Player 6
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");
}
}
Flash CS3