Adding getter/setter properties to objects in ActionScript 1

Note: If you have never used ActionScript to write object-oriented scripts and don't need to target Flash Player 5, you should not use the information in this section, because writing scripts using ActionScript 1 is deprecated; instead, see Creating Classes with ActionScript 2.0 for information on using ActionScript 2.0.

You can create getter/setter properties for an object using the Object.addProperty() method.

A getter function is a function with no parameters. Its return value can be of any type. Its type can change between invocations. The return value is treated as the current value of the property. A setter function is a function that takes one parameter, which is the new value of the property. For instance, if property x is assigned by the statement x = 1, the setter function is passed the parameter 1 of type Number. The return value of the setter function is ignored.

When Flash reads a getter/setter property, it invokes the getter function, and the function's return value becomes a value of prop. When Flash writes a getter/setter property, it invokes the setter function and passes it the new value as a parameter. If a property with the given name already exists, the new property overwrites it.

You can add getter/setter properties to prototype objects. If you add a getter/setter property to a prototype object, all object instances that inherit the prototype object inherit the getter/setter property. This makes it possible to add a getter/setter property in one location, the prototype object, and have it propagate to all instances of a class (much like adding methods to prototype objects). If a getter/setter function is invoked for a getter/setter property in an inherited prototype object, the reference passed to the getter/setter function will be the originally referenced object, not the prototype object.

For more information, see Object.addProperty().

The Debug > List Variables command in test mode supports getter/setter properties that you add to objects using Object.addProperty(). Properties that you add to an object in this way are displayed alongside other properties of the object in the Output panel. Getter/setter properties are identified in the Output panel with the prefix [getter/setter]. For more information on the List Variables command, see Using the Output panel.