![]() ![]() ![]() | |
![]() | |
![]() | |
![]() |
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(); }
![]() | |
![]() | |
![]() | |
![]() ![]() ![]() |