User Guide

662 Chapter 2: ActionScript Language Reference
Object.addProperty()
Availability
Flash Player 6. In ActionScript 2.0 classes, you can use get or set instead of this method.
Usage
myObject.addProperty(prop:String, getFunc:Function, setFunc:Function) :
Boolean
Parameters
prop
A string; the name of the object property to create.
getFunc The function that is invoked to retrieve the value of the property; this parameter is a
Function object.
setFunc The function that is invoked to set the value of the property; this parameter is a
Function object. If you pass the value
null for this parameter, the property is read-only.
Returns
A Boolean value: true if the property is successfully created; false otherwise.
Description
Method; creates a getter/setter property. When Flash reads a getter/setter property, it invokes the
get function, and the functions return value becomes the value of prop. 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:
Error condition What happens
prop is not a valid property name; for example, an
empty string.
Returns false and the property is not added.