Abstract data type




<programming> (ADT) A kind of data abstraction where a type's internal form is hidden behind a set of access functions.

Values of the type are created and inspected only by calls to the access functions.

This allows the implementation of the type to be changed without requiring any changes outside the module in which it is defined.

Objects and ADTs are both forms of data abstraction, but objects are not ADTs.

Objects use procedural abstraction (methods), not type abstraction.

A classic example of an ADT is a stack data type for which functions might be provided to create an empty stack, to push values onto a stack and to pop values from a stack.

Reynolds paper (http://www.cis.upenn.edu/~gunter/publications/documents/taoop94.html).

Cook paper "OOP vs ADTs" (http://www.wcook.org/papers/OOPvsADT/CookOOPvsADT90.pdf).



< Previous Terms Terms Containing abstract data type Next Terms >
abscissa
ABSET
absolute path
absolute pathname
abstract class
abstraction
ADT
Alex
algebraic data type
Algebraic Specification Language
abstract interpretation
abstraction
abstract machine
Abstract Machine Notation
abstract syntax