Properties are class members similar to variable data members, but they can have behavior defined and associated with them. This behavior specifies if a property can be read or written, and includes any statements to be executed when the property is read or written. ABL allows you to define a property using a DEFINE PROPERTY statement, which includes the definition of any one or two special methods, each of which is referred to as an accessor. A GET accessor indicates that the property is readable and includes optional statements to be executed when the property is read. A SET accessor indicates that the property is writable and includes optional statements to be executed when the property is written. The data type of a property can be any data type allowed for the return type of a method. Each property has an access mode (PRIVATE, PROTECTED, or PUBLIC), which can be separately defined for one of the two specified accessors. By default, all properties are PUBLIC (unlike data members).
ABL also supports static properties that are associated with a class type rather than a class instance. Unless otherwise specified, any reference to a property in this manual refers to an instance property. For more information on static class members, see
Usingstatic members of a class.
For information on the ABL to access properties, see
Accessing data members and properties. For more information on defining properties, see
Definingproperties within a class. You can also define data elements known as a data members. For more information, see
Definingdata members.