How to Use Properties

What Are Properties

Properties encapsulate the data that belongs to instances of classes. Data contained in properties can be public, protected, or private. This data can be a fixed set of constant values, or it can be dependent on other values and calculated only when queried. You control these aspects of property behaviors by setting property attributes and by defining property-specific access methods.

See Property Attributes for a summary of property attributes.

Flexibility of Object Properties

In some ways, properties are like fields of a struct object. However, storing data in an object property provides more flexibility. Properties can:

Types of Properties

There are two types of properties:

  • Stored properties — Use memory and are part of the object

  • Dependent properties — No allocated memory and the get access method calculates the value when queried

Features of Stored Properties

  • Can assign an initial value in the class definition

  • Property value is stored when you save the object to a MAT-file

  • Can use a set access method to control possible values, but you are not required to use such methods.

When to Use Stored Properties

  • You want to be able to save the property value in a MAT-file

  • The property value is not dependent on other property values

Features of Dependent Properties

Dependent properties save memory because property values that depend on other values are calculated only when needed.

When to Use Dependent Properties

Define properties as dependent when you want to:

  • Compute the value of a property from other values (for example, you can compute area from Width and Height properties).

  • Provide a value in different formats depending on other values. For example, the size of a push button in values determined by the current setting of its Units property.

  • Provide a standard interface where a particular property is or is not used, depending on other values. For example, different computer platforms can have different components on a toolbar).

Property Access Methods provides information on defining property access methods.

Was this topic helpful?