Основы программирования — второй семестр 08-09; Михалкович С.С.; V часть

Материал из Вики ИТ мехмата ЮФУ
Версия от 21:32, 31 марта 2009; Admin (обсуждение | вклад) (Абстрактные типы данных)

Перейти к: навигация, поиск

Что известно о классах к настоящему моменту:

  1. Класс - тип данных
  2. Класс, как и запись, содержит поля и методы
  3. Переменная типа класс и переменная типа запись по-разному хранятся в памяти (ссылочная и размерная организация данных)
  4. Для создания объекта класса и связывания его с переменной класса вызывается специальная функция-метод, называемая конструктором

Абстрактные типы данных

Класс является реализацией более общей концепции абстрактного типа данных (АТД).

До сих пор мы сталкивались с конкретными типами данных, простыми или составными (массивы, записи, списки). Каждый тип данных характеризуется: набором допустимых значений; тем, как эти значения хранятся в памяти; операциями, которые можно выполнять над данными этого типа.

Абстрактный тип данных - это тип данных, доступ к которым осуществляется только через некоторый набор действий (операций, подпрограмм). Этот набор действий называется интерфейсом абстрактного типа данных. По существу, абстрактный тип данных - это интерфейс, набор операций. Для того, чтобы абстрактным типом данных можно было пользоваться, необходимо реализовать все операции, входящие в его интерфейс. С точки зрения клиента, использующего тип данных, важны лишь операции, которые можно выполнять над объектами этого типа, т.е. важен только интерфейс. Реализация должна быть скрыта от клиента (принцип сокрытия реализации).