O documento discute tipos abstratos de dados (TAD) e encapsulamento. Ele introduz os conceitos de abstração e TAD definidos pelo usuário, apresentando exemplos. Também aborda questões de projeto de TADs e exemplos de como linguagens como Ada, C++, Java e Ruby implementam encapsulamento e TADs.