Теория и практика объектно-ориентированного программирования. Ноткин А.М. - 64 стр.

UptoLike

Составители: 

65
Лабораторная работа 7
КОЛЛЕКЦИИ. ХРАНЕНИЕ И ПОИСК ОБЪЕКТОВ
Цель. Получить практические навыки использования коллекций в
TV-программе.
Основное содержание работы.
Создание объектов пользовательского класса, сохранение их в кол-
лекции и в файле. Загрузка объектов с файла и занесение их в коллекцию.
Поиск в коллекции.
Краткие теоретические сведения.
Коллекция это класс объектов TV, предназначенных для
хранения элементов. В этом смысле коллекция служит тем же целям, что и
массивы. Однако коллекции существенно отличаются от массивов.
Во-первых, размер коллекции может динамически меняться в ходе
работы программы, фактически ограничиваясь лишь доступной памятью.
Во-вторых, в коллекции могут храниться элементы
разных типов, в том
числе и объекты. Это свойство называется полиморфизмом коллекции.
В Turbo Vision коллекции технически реализованы как массивы не-
типизированных указателей на размещённые в динамической памяти эле-
менты коллекций.
Реализация коллекции в Turbo Vision. Для создания коллек-
ции используют объекты классов TCollection, TSortedCollection и
TStringCollection. Это классы так называемых неотображаемых объек-
тов TV.
В лабораторной
работе используются объекты TCollection или
TSortedCollection. TSortedCollection прямой потомок от TCollection и отли-
чается от последнего тем, что реализует коллекцию, отсортированную по
ключу. TsortedCollection абстрактный класс и, чтобы использовать его,
надо создать производный класс и перекрыть методы KeyOf и Compare.
В принципе коллекция может хранить данные любых типов. Однако
некоторые методы TCollection предназначены для обработки коллекции
объектов
, порождённых от TObject (например, FreeItem освободить эле-
мент коллекции). Поэтому либо все включённые в коллекцию объекты
должны быть потомком от TОbject, либо следует перекрывать соответст-
вующие методы.
TSortedCollection наследует почти все методы TСollection, за исклю-
чением IndexОf и Insert, которые перекрыты. Кроме этого, добавлены три
метода: Compare, KeyОf и Search.
Создание коллекции. Коллекция создаётся
вызовом конст-
руктора:
                                    65

                 Лабораторная работа № 7
         КОЛЛЕКЦИИ. ХРАНЕНИЕ И ПОИСК ОБЪЕКТОВ

      Цель. Получить практические навыки использования коллекций в
TV-программе.
      Основное содержание работы.
      Создание объектов пользовательского класса, сохранение их в кол-
лекции и в файле. Загрузка объектов с файла и занесение их в коллекцию.
Поиск в коллекции.
      Краткие теоретические сведения.
      •     Коллекция − это класс объектов TV, предназначенных для
хранения элементов. В этом смысле коллекция служит тем же целям, что и
массивы. Однако коллекции существенно отличаются от массивов.
      Во-первых, размер коллекции может динамически меняться в ходе
работы программы, фактически ограничиваясь лишь доступной памятью.
Во-вторых, в коллекции могут храниться элементы разных типов, в том
числе и объекты. Это свойство называется полиморфизмом коллекции.
      В Turbo Vision коллекции технически реализованы как массивы не-
типизированных указателей на размещённые в динамической памяти эле-
менты коллекций.
      •     Реализация коллекции в Turbo Vision. Для создания коллек-
ции используют объекты классов TCollection, TSortedCollection и
TStringCollection. Это классы так называемых неотображаемых объек-
тов TV.
      В лабораторной работе используются объекты TCollection или
TSortedCollection. TSortedCollection прямой потомок от TCollection и отли-
чается от последнего тем, что реализует коллекцию, отсортированную по
ключу. TsortedCollection − абстрактный класс и, чтобы использовать его,
надо создать производный класс и перекрыть методы KeyOf и Compare.
      В принципе коллекция может хранить данные любых типов. Однако
некоторые методы TCollection предназначены для обработки коллекции
объектов, порождённых от TObject (например, FreeItem − освободить эле-
мент коллекции). Поэтому либо все включённые в коллекцию объекты
должны быть потомком от TОbject, либо следует перекрывать соответст-
вующие методы.
      TSortedCollection наследует почти все методы TСollection, за исклю-
чением IndexОf и Insert, которые перекрыты. Кроме этого, добавлены три
метода: Compare, KeyОf и Search.
      •     Создание коллекции. Коллекция создаётся вызовом конст-
руктора: