Java Reference
In-Depth Information
4.2
Information Hiding and Encapsulation
We all know—the Times knows—but we pretend we don't.
VIRGINIA WOOLF, Monday or Tuesday
Information hiding means that you separate the description of how to use a class
from the implementation details, such as how the class methods are defined. You do
this so that a programmer who uses the class does not need to know the implementa-
tion details of the class definition. The programmer who uses the class can consider
the implementation details as hidden, since he or she does not need to look at them.
Information hiding is a way of avoiding information overloading. It keeps the infor-
mation needed by a programmer using the class within reasonable bounds. Another
term for information hiding is abstraction . The use of the term abstraction for infor-
mation hiding makes sense if you think about it a bit. When you abstract something
you are discarding some of the details.
Encapsulation means grouping software into a unit in such a way that it is easy to
use because there is a well-defined simple interface. So, encapsulation and information
hiding are two sides of the same coin.
Java has a way of officially hiding details of a class definition. To hide details, you
mark them as private , a concept we discuss next.
information
hiding
abstraction
encapsulation
Encapsulation
Encapsulation means that the data and the actions are combined into a single item (in our
case, a class object) and the details of the implementation are hidden. The terms informa-
tion hiding and encapsulation deal with the same general principle: If a class is well
designed, a programmer who uses a class need not know all the details of the implementa-
tion of the class but need only know a much simpler description of how to use the class.
API
The term API stands for application programming interface . The API for a class is a descrip-
tion of how to use the class. If your class is well designed, using the encapsulation tech-
niques we discuss in this topic, then a programmer who uses your class need only read the
API and need not look at the details of your code for the class definition.
ADT
The term ADT is short for abstract data type. An ADT is a data type that is written using
good information-hiding techniques.
Search WWH ::




Custom Search