Коллекция представляет собой разновидность списка указателей, оптимизированную для работы с объектами определенного вида. Сама коллекция инкапсулирована в классе
Tсоllection. Элемент коллекции должен быть экземпляром класса, унаследованного от класса
TCollectionitem. Это облегчает программирование и позволяет обращаться к свойствам и методам объектов напрямую.
Коллекции объектов широко используются в компонентах VCL. Например, панели компонента
TCoolBar (см. гл. 5)
объединены в коллекцию. Класс TCooiBands, объединяющий панели, является наследником класса
TCollection. А отдельная панель — экземпляром класса
TCoolBar, происходящего от
классаTCollectionitem.
Поэтому знание свойств и методов классов коллекции позволит успешно использовать их при работе со многими компонентами
(TDBGrid, TListview, TStatusBar, TCoolBar
и т. д.).
Для работы с коллекцией, независимо от инкапсулирующего ее компонента, применяется специализированный Редактор коллекции (рис. 7.1), набор
элементов управления которого может немного изменяться для разных компонентов.
Рис. 7.1. Редактор коллекции
Список Редактора объединяет элементы коллекции.
При выборе одной строки из списка свойства объекта коллекции становятся доступны
в Инспекторе объектов. В список можно добавлять новые элементы и удалять существующие,
а также менять их взаимное положение.
Примеры использования коллекций представлены
при описании соответствующих компонентов.
Знаете ли Вы, что абстракция - это процесс изменения уровня детализации программы. Когда мы абстрагируемся от проблемы, мы предполагаем игнорирование ряда подробностей с тем, чтобы свести задачу к более простой.