comp.lang.ada
 help / color / mirror / Atom feed
From: Matthew Heaney <F22HEANEY@MASS.DNET.HAC.COM>
Subject: Information Hiding: Response of MJH
Date: Wed, 8 Mar 1995 08:34:46 -0800
Date: 1995-03-08T08:34:46-08:00	[thread overview]
Message-ID: <01HNVXYDIMN600IH0G@EDEN1.HAC.COM> (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



                 reply	other threads:[~1995-03-08 16:34 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed
replies disabled

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