资料来源 : Free On-Line Dictionary of Computing
abstract data type
(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)}.
(2003-07-03)