Monday, 12 November 2012

3-1-1 Information Hiding and Abstraction

Hiding the design complexity of a system to simplify it for a user.

Levels of Abstraction
  1. Application (Word)
  2. High Level Programming Language
  3. Machine Code
  4. Electronics
Examples of Abstraction

  • This does not show the actual distance from different stops on the underground.
  • It only shows train stops and nothing else, e.g. road maps or landmarks.
  • Some stops are not actually a straight line.

















The human brain is an exceptional piece of biological machinery capable of recognising objects when most of their detail has been removed. In this case it is a dachshund (weiner dog).
 
Key Terms

Interface: a boundary between the implementation of a system and the world that uses it. It provides an abstraction of the entity behind the boundary thus separating the methods of eternal communication from internal operation

Abstraction: representation that is arrived by removing unnecessary details.

Information hiding means hiding design details behind a standard interface.

There are several reasons for information hiding. Different objects can have identical interfaces. Sharing a common interface among many different objects means that users of the objects do not need to be retrained when changing from using one object to using another. To use a module or object, a user needs to have no knowledge of its internal design. The internal design can be kept secret. One moudle may be replaced by another module with an identical interface but a different internal design or manner in which the module's function is carried out. Changes are made easier because changes are local to modules.

Find a common representation of a problem, then find an algorithm to solve problems so represented. Learn to transform other problems into this representation.













1 comment:

  1. Alvin this is a very good example of the ability the human brain has in identifying objects! good job!!

    ReplyDelete