Like a class, an interface defines a new data type. Any class that implements an interface can be considered to be of the type defined by the interface. This is useful for determining if a given object implements a given interface. For example, consider the following interface.
interface Moveable { function moveUp(); function moveDown(); }
Now consider the class Box that implements the Moveable interface.
class Box implements Moveable { var x_pos, y_pos; function moveUp() { // method definition } function moveDown() { // method definition } }
Then, in another script where you create an instance of the Box class you could assert that the instance is of the Moveable type.
var:Moveable = new Box();
In Flash Player 7, you can cast an expression to the interface type. If the expression is an object that implements the interface, or has a base (super) class that implements the interface, the object is returned. Otherwise, null
is returned.