Encapsulation
From the point
of view of another object the only knowable features of
a software object are those of its interfaces or
interfaces; that is its properties, methods and events.
Everything else
is hidden or encapsulated. The complexity of the
actual implementation is not exposed.
This
simplification by hiding reduces complexity and
unexpected side effects and also a simple definition of
an object to exist.
Encapsulation
gives to an abstract object some of the attributes also
found in physical objects.
This slight
similarity to physical objects has given rise to terms
such as ‘software engineering’ suggesting that software
objects can be engineered or are physical in some way.
However the correct phrase would that software objects
can simulate only some of attributes of the physical
objects in a computer system in a better way and cannot
become physical objects them selves. Essentially
programmatic objects are selected ‘aspects’ of a
physical object rather than a complete representation. |