Лекция 13.
Абстрактный тип данных (АТД)
Таким образом,
абстрактный тип данных (АТД) – это инкапсуляция
данных одного типа и
операций (методов) для их обработки. При этом следует иметь в виду,
что в инкапсуляции,
конечно, описывается несколько видов данных (переменные, массивы, структуры), но среди них
есть один, обработка которого с помощью операций инкапсуляции является целью создания АТД с
точки зрения семантики задачи. Например, создаем АТД для обработки таблицы с бухгалтерскими
данными. Тогда инкапсуляция должна иметь основной тип данных запись (структура) для
описания таблицы, операции (методы) для обработки таблицы и
какие-то вспомогательные
переменные.
Определение. Абстрактный тип данных (АТД) — это тип данных,
который удовлетворяет следующим условиям:
определение типа и операции
над объектами данного типа
содержатся в одной синтаксической единице;
переменные же
данного типа можно создавать и в других модулях;
внутренняя структура объектов данного
типа скрыта от программных
модулей, использующих этот тип, так что над такими объектами можно
производить лишь те операции, которые
прямо предусмотрены в
определении типа.
Встроенные операции, которые можно выполнять над объектами АТД:
присваивание,
проверка на
равенство и неравенство,
конструктор и деструктор объектов. Конструкторы используются
для инициализации вновь создаваемых объектов.
Деструкторы
используются для освобождения областей динамической памяти,
которые могут быть заняты объектами абстрактного типа.
В ООП по аналогии с языком SIMULA67
абстрактный тип данных
принято называть
классом. Экземпляр класса (переменная типа класса)
является
объектом. Класс – шаблон для создания объекта. Формат описания
класса следующий (нотация языка С++):
Do'stlaringiz bilan baham: