User Guide

992 ActionScript classes
addProperty (Object.addProperty method)
public addProperty(name:String, getter:Function, setter:Function) : Boolean
Creates a getter/setter property. When Flash reads a getter/setter property, it invokes the get
function, and the function's return value becomes the value of
name. When Flash writes a
getter/setter property, it invokes the
set function and passes it the new value as a parameter. If
a property with the given name already exists, the new property overwrites it.
A "get" 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 "set" function is a function that takes one parameter, which is the new value of the property.
For example, if property
x is assigned by the statement x = 1, the set function is passed the
parameter
1 of type number. The return value of the set function is ignored.
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 (similar to adding methods to
prototype objects). If a get/set function is invoked for a getter/setter property in an inherited
prototype object, the reference passed to the get/set function is the originally referenced
object--not the prototype object.
If invoked incorrectly,
Object.addProperty() can fail with an error. The following table
describes errors that can occur:
Availability: ActionScript 1.0; Flash Player 6 - In ActionScript 2.0 classes, you can use get or
set instead of this method.
Parameters
name:String - A string; the name of the object property to create.
getter:Function - The function that is invoked to retrieve the value of the property; this
parameter is a Function object.
Error condition What happens
name is not a valid property name; for example,
an empty string.
Returns false and the property is not added.
getter is not a valid function object. Returns false and the property is not added.
setter is not a valid function object. Returns false and the property is not added.