A property is a language element whose main purpose is to allow the indirect manipulation of variables that you don't want to expose to the application as a whole. This is especially useful in object-oriented programming. To the application, a property looks like a variable to which you can assign and from which you can retrieve a value, but it is actually more than that.

You create a property by defining two procedures: Property Set assigns the value of the property to a variable you want to manipulate, and Property Get assigns the current value of that variable to the property. You execute the Property Set procedure by assigning the property a value, and you execute the Property Get procedure by including the property in a statement that uses its value. The application operates on the property (which operates on the variable) rather than on the variable itself. Because Property Set and Property Get are procedures, you can make them perform operations in addition to assigning and retrieving values.