User Guide
136 Chapter 5: ActionScript Core Language Elements
class
Availability
Flash Player 6.
Usage
[dynamic] class className [ extends superClass ]
[ implements interfaceName [, interfaceName... ] ]
{
// class definition here
}
Parameters
className
The fully qualified name of the class.
superClass The name of the class that className extends (inherits from). This parameter is
optional.
interfaceName The name of the interface whose methods className must implement. This
parameter is optional.
Description
Statement; defines a custom class, which lets you instantiate objects that share methods and
properties that you define. For example, if you are developing an invoice-tracking system, you
could create an invoice class that defines all the methods and properties that each invoice should
have. You would then use the
new invoice() command to create invoice objects.
The name of the class must match the name of the external file that contains the class. The name
of the external file must be the name of the class with the file extension .as appended. For
example, if you name a class Student, the file that defines the class must be named Student.as.
If a class is within a package, the class declaration must use the fully qualified class name of the
form base.sub1.sub2.MyClass (for more information, see “Using packages” on page 57). Also, the
class’s AS file must be stored within the path in a directory structure that reflects the package
structure, such as base/sub1/sub2/MyClass.as (for more information, see “Understanding the
classpath” on page 64). If a class definition is of the form “class MyClass,” it is in the default
package and the MyClass.as file should be in the top level of some directory in the path.
For this reason, it’s good practice to plan your directory structure before you begin creating
classes. Otherwise, if you decide to move class files after you create them, you have to modify the
class declaration statements to reflect their new location.
You cannot nest class definitions; that is, you cannot define additional classes within a
class definition.
To indicate that objects can add and access dynamic properties at runtime, precede the class
statement with the
dynamic keyword. To declare that a class implements an interface, use the
implements keyword. To create subclasses of a class, use the extends keyword. (A class can
extend only one class, but can implement several interfaces.) You can use
implements and
extends in a single statement. The following examples show typical uses of the implements and
extends keywords:
CHAPTER 5
ActionScript Core Language Elements