4.1    ADT. Primera aproximación.

En los primeros lenguajes, como FORTRAN y COBOL, la creación de tipos de datos nuevos está limitada a la definición de subprogramas.

A medida que el concepto de tipo de dato evoluciona, los nuevos lenguajes suministran facilidades para especificar o implementar tipos de datos completos, como los package de Ada o los closes de C++.

Para entender el concepto de encapsulamiento  a datos definidos por el usuario, definiremos un tipo abstracto de datos como:

  1. Un conjunto de objetos (datos), que usan una o más definiciones de tipo.
  2. Un conjunto de operaciones abstractas sobre esos objetos, y
  3. Encapsulamiento del todo de manera que el usuario de un tipo nuevo no pueda manipular los objetos de ese tipo, excepto mediante las operaciones definidas.

La definición completa debe ser "encapsulada" de forma tal que el usuario del tipo necesite saber sólo el nombre y la semántica de las operaciones disponibles.