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

Контейнерный класс обычно включает методы создания, добавления и удаления элементов. Кроме того, он должен обеспечивать поэлементную обработку (например, поиск, сортировку). Все методы программируются через указатели на класс-элемент. Методы добавления и удаления элементов при выполнении операций обычно обращаются к специальным полям класса-элемента, используемым для создания структуры (например, для односвязного списка - к полю, хранящему адрес следующего элемента).
Методы, реализующие поэлементную обработку, должны работать с полями данных, определенными в классах-потомках класса-элемента.
Поэлементную обработку реализуемой структуры можно реализовать двумя способами.
Первый способ - универсальный - заключается в использовании итераторов.
Второй - в определении специального метода, который содержит в списке параметров адрес процедуры обработки.
Теоретически итератор должен обеспечивать возможность реализации циклических действий следующего вида:
<очередной элемент>:=<первый элемент>
Дата добавления: 2015-09-06; просмотров: 243 | Нарушение авторских прав
| <== предыдущая страница | | | следующая страница ==> | 
| Делегирование методов | | | Цикл-пока <очередной элемент> определен |