Основы программирования — второй семестр 08-09; Михалкович С.С.; V часть — различия между версиями
Admin (обсуждение | вклад) (Новая: Что известно о классах к настоящему моменту: # Класс - тип данных # Класс, как и запись, содержит поля и м...) |
Admin (обсуждение | вклад) |
||
Строка 5: | Строка 5: | ||
# Для создания объекта класса и связывания его с переменной класса вызывается специальная функция-метод, называемая конструктором | # Для создания объекта класса и связывания его с переменной класса вызывается специальная функция-метод, называемая конструктором | ||
+ | ===Абстрактные типы данных=== | ||
+ | Класс является реализацией более общей концепции абстрактного типа данных (АТД). | ||
+ | |||
+ | До сих пор мы сталкивались с конкретными типами данных, простыми или составными (массивы, записи, списки). | ||
+ | Каждый тип данных характеризуется: | ||
+ | набором допустимых значений; | ||
+ | |||
+ | тем, как эти значения хранятся в памяти; | ||
− | + | операциями, которые можно выполнять над данными этого типа. | |
+ | Абстрактный тип данных - это тип данных, доступ к которым осуществляется только через некоторый набор действий (операций, подпрограмм). Этот набор действий называется интерфейсом абстрактного типа данных. По существу, абстрактный тип данных - это интерфейс, набор операций. Для того, чтобы абстрактным типом данных можно было пользоваться, необходимо реализовать все операции, входящие в его интерфейс. | ||
+ | С точки зрения клиента, использующего тип данных, важны лишь операции, которые можно выполнять над объектами этого типа, т.е. важен только интерфейс. Реализация должна быть скрыта от клиента (принцип сокрытия реализации). |
Версия 21:31, 31 марта 2009
Что известно о классах к настоящему моменту:
- Класс - тип данных
- Класс, как и запись, содержит поля и методы
- Переменная типа класс и переменная типа запись по-разному хранятся в памяти (ссылочная и размерная организация данных)
- Для создания объекта класса и связывания его с переменной класса вызывается специальная функция-метод, называемая конструктором
Абстрактные типы данных
Класс является реализацией более общей концепции абстрактного типа данных (АТД).
До сих пор мы сталкивались с конкретными типами данных, простыми или составными (массивы, записи, списки). Каждый тип данных характеризуется: набором допустимых значений;
тем, как эти значения хранятся в памяти;
операциями, которые можно выполнять над данными этого типа. Абстрактный тип данных - это тип данных, доступ к которым осуществляется только через некоторый набор действий (операций, подпрограмм). Этот набор действий называется интерфейсом абстрактного типа данных. По существу, абстрактный тип данных - это интерфейс, набор операций. Для того, чтобы абстрактным типом данных можно было пользоваться, необходимо реализовать все операции, входящие в его интерфейс. С точки зрения клиента, использующего тип данных, важны лишь операции, которые можно выполнять над объектами этого типа, т.е. важен только интерфейс. Реализация должна быть скрыта от клиента (принцип сокрытия реализации).