Информатика и технология программирования

       

Постановка задачи


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



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



-в коллекции существует естественный порядок расположения элементов по их номеру (индексу, как в обычном массиве);



-размерность коллекции не ограничена и растет по мере ее заполнения;



-элементы коллекции размещаются в файле и загружаются в память только при обращении к ним;



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

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



Содержание раздела