From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,3987b6b9a0fadf2c X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 1995-03-08 04:24:23 PST Newsgroups: comp.lang.ada Path: bga.com!news.sprintlink.net!howland.reston.ans.net!gatech!news-feed-1.peachnet.edu!paperboy.wellfleet.com!noc.near.net!inmet!henning!stt From: stt@henning.camb.inmet.com (Tucker Taft) Subject: Re: HELP-Information hiding/Abstraction (explain difference please) Message-ID: Sender: news@inmet.camb.inmet.com Organization: Intermetrics, Inc. X-Newsreader: TIN [version 1.1 PL8] References: Date: Wed, 8 Mar 1995 11:38:29 GMT Date: 1995-03-08T11:38:29+00:00 List-Id: Jacky (j_green@icrf.icnet.uk) wrote: : Could someone please explain the difference between : information hiding and data abstraction - Is there one? Information hiding is a more general and somewhat lower level concept than data abstraction. Most abstraction (data abstraction, procedural abstraction) uses information hiding to force the client to use the abstraction. Similarly, "modularity" uses information hiding to ensure that interdependences between modules are minimized. Abstraction is designed to raise the "level" of discourse, so that client routines can deal with data and operations at a more appropriate application-oriented, representation-independent level. Modularity is designed to break an application upon into manageable, relatively independent pieces. Information hiding is a mechanism to prevent client routines from using certain data or operations. However, there is no direct implicatation that this has the effect of raising the level of discourse. It may simply be hiding certain "dangerous," "privileged," or simply "irrelevant" data or operations from the client. : I would be grateful for any simple small pieces of code that : help show the difference. I have been through books etc : and as far as I can see they are one and the same.... Information hiding serves both abstraction and modularity. All three concepts are closely related, and in any given system, it may be difficult to say where abstraction begins and modularity leaves off. In general, "data abstraction" is associated with the definition of user-defined data types, which are designed to represent some higher-level application-oriented entity. "Procedural abstraction" is associated with the definition of functions and procedures that encapsulate some useful application-oriented functionality. "Modularity" is associated with breaking a large application up into appropriately-sized modules, with limited dependence between the modules. "Information hiding" is usually accomplished by some language feature that allows some information to be visible only to certain modules. What you do with this feature is up to the programmer. : Please help!!! Sorry I don't have time to produce a real example. : E-mail me direct too, if poss. Will do. : Thanks in advance. : J. Green