Advantages of ADTS
- Abstraction:
the user of a type does not need to know or understand any implementation
details of the type, which reduces the complexity of the programming task.
- Localization of errors:
if there are errors either in
the representation or implementation of the type, the errors are
local to the ADT, and cannot be caused by code that uses the type.
- Localization of changes:
if the programmer decides to change
the representation of a type (e.g., to change the representation
of a set from a list of elements to a bit vector), then only the
implementation of the ADT need be changed; code that uses the type
is not affected.