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

Материал из Вики ИТ мехмата ЮФУ
Перейти к: навигация, поиск
(Абстрактные типы данных)
(Абстрактные типы данных)
Строка 14: Строка 14:
 
*операциями, которые можно выполнять над данными этого типа.  
 
*операциями, которые можно выполнять над данными этого типа.  
  
'''Абстрактный тип данных''' - это тип данных, доступ к которым осуществляется только через некоторый набор действий (операций, подпрограмм). Этот набор действий называется '''интерфейсом абстрактного типа данных'''. По существу, абстрактный тип данных - это интерфейс, набор операций. Для того, чтобы абстрактным типом данных можно было пользоваться, необходимо реализовать все операции, входящие в его интерфейс.  
+
'''Абстрактный тип данных''' - это тип данных, доступ к которым осуществляется только через некоторый набор действий (операций, подпрограмм). Этот набор действий называется '''интерфейсом абстрактного типа данных'''. По существу, абстрактный тип данных - это интерфейс, набор операций. То, как эти данные хранятся, АТД не определяет.
С точки зрения клиента, использующего тип данных, важны лишь операции, которые можно выполнять над объектами этого типа, т.е. важен только интерфейс. Реализация должна быть скрыта от клиента (принцип сокрытия реализации).
+
 
 +
Клиенту, использующему тип данных, не важно знать, как он устроен внутри, а важны лишь операции, которые можно выполнять над объектами этого типа, т.е. важен только интерфейс. То есть, клиент оперирует с типом данных как с абстрактным. Реализация должна быть скрыта от клиента (принцип сокрытия реализации).
 +
 
 +
Для того, чтобы абстрактным типом данных можно было пользоваться, необходимо реализовать все операции, входящие в его интерфейс. Наиболее распространенной реализацией АТД является класс.
 +
 +
===Классы: основные понятия===

Версия 21:49, 31 марта 2009

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

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

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

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

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

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

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

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

Для того, чтобы абстрактным типом данных можно было пользоваться, необходимо реализовать все операции, входящие в его интерфейс. Наиболее распространенной реализацией АТД является класс.

Классы: основные понятия