comp.lang.ada
 help / color / mirror / Atom feed
* Information Hiding: Response of MJH
@ 1995-03-08 16:34 Matthew Heaney
  0 siblings, 0 replies; only message in thread
From: Matthew Heaney @ 1995-03-08 16:34 UTC (permalink / raw)


> J. Green writes:
>
> Could someone please explain the difference between
> information hiding and data abstraction - Is there one?

Yes, there is a difference.

From Software Engineering With Ada (the section "Abstraction and Information
Hiding"), by Grady Booch:

The essence of abstraction is to extract essential properties while omitting
inessential details. (p. 32)

Whereas abstractions extract the essential details of a given level [of
decomposition], the purpose of [information] hiding is to make inaccessible
certain details that should not affect other parts of the system. (p. 33)

From Object-Oriented Analysis and Design (the glossary), also by Booch:

abstraction  The essential characteristics of an object that distinguish it from
other kinds of objects and thus provide crisply-defined conceptual boundaries
relative to the perspective of the viewer; the process of focusing upon the
essential characteristics of an object.  Abstraction is one of the fundamental
elements of the object model.

information hiding  The process of hiding all the secrets of an object that do
not contribute to its essential characteristics; typically, the structure of
an object is hidden, as well as the implementation of its methods.

And from Software Components With Ada, by (yes) Grady Booch:

... abstraction essentially means to focus on the important elements of some
entity.  Information hiding complements the notion of abstraction.  Whereas
abstraction serves to expose important characteristics, information hiding
serves to suppress unnecessary details.  (p. 12)

The term information hiding was coined by David Parnas, in his classic paper
"On the Criteria to Be Used in Decomposing Systems Into Modules," Communications
of the ACM, vol 5, no 12, p 1053-1058, Dec 1972.

Any more questions about the object model?  Feel free to contact me.

Matthew Heaney
Hughes Aircraft
f22heaney@mass.dnet.hac.com



^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~1995-03-08 16:34 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1995-03-08 16:34 Information Hiding: Response of MJH Matthew Heaney

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox