Adapted from Concepts in Data Structures & Software Development by Schneider & Bruell
and Intro. to Abstract Data Types Using Ada by Bruce Hillam



An abstract data type (ADT) is a data type defined only in terms of the operations that may be performed on objects of the type. Users (programmers) are allowed to examine and manipulate objects using only these operations and they are unaware of how the objects are implemented in the programming language.


    The specification of an abstract data type includes :
  1. the domain of values
  2. the operations on the domain
  3. for structured types :
    1. the specifications of component ADTs
    2. the structural relationships among components

Four constructs are needed in a programming language to support ADTs :

  • The ability to separate the declaration of names of objects from
    their implementation and to place these two parts in different
    program units.
  • The ability to restrict user access to the implementation unit.
  • Separate compilation for the two program units that contain the
    declaration and implementation of objects.
  • Statements that allow user access to the resources created in these
    units.


    ADT Outline
    ADT forms
    ADT Examples