![]() ![]() | |
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 Movable {
function moveUp();
function moveDown();
}
Now consider the class Box that implements the Movable interface.
class Box implements Movable {
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 declare a variable to be of the Movable type.
var newBox:Movable = new Box();
At runtime, in Flash Player 7 and later, you can cast an expression to an interface type. If the expression is an object that implements the interface or has a superclass that implements the interface, the object is returned. Otherwise, null is returned. This is useful if you want to make sure that a particular object implements a certain interface.
For example, the following code first checks if the object name someObject implements the Movable interface before calling the moveUp() method on the object.
if(Movable(someObject) != null) {
someObject.moveUp();
}
![]() ![]() | |