# Adding getter/setter properties to objects

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 the `Object.addProperty` method. Properties that you add to an object in this way are displayed alongside other properties of the object in the Output window. Getter/setter properties are identified in the Output window with the prefix `[getter/setter]`. For more information on the List Variables command, see "Using the Output window" on page 140.