The elements of data and function
that programs create, manipulate, pass as arguments, and so forth. An object
is a way of associating specific data values with a specific set of named
functions (called methods) for a period of time (referred to as the
lifetime of the object). The data values of an object are referred
to as its state. In SOM, objects are created by other objects called
classes. The specification of what comprises the set of functions
and data elements that make up an object is referred to as the definition
of a class.
SOM objects offer a high degree of encapsulation. This property permits
many aspects of the implementation of an object to change without affecting
client programs that depend on the object's behavior.