Delphi для профессионалов. Списки и коллекции

Класс TCollection

Класс TCollection является оболочкой коллекции, обеспечивая разработчика набором свойств и методов для управления ею (табл. 7.3).

Сама коллекция содержится в свойстве

property Items[Index: Integer]: TCollectionltem;

Полное объявление свойства в классе выглядит следующим образом:

property Items[Index: Integer]: TCollectionltem read Getltem write Setltem;

Методы Getitem и Setltem обращаются к внутреннему полю Fitems:

FItems: TList;

Именно оно хранит коллекцию объектов во время выполнения. Отсюда следует, что коллекция представляет собой список указателей на экземпляры класса TCollectionltem или его наследника. Класс TCollection обеспечивает удобство использования элементов списка.

Таблица 7.3. Свойства и методы класса TCollection

Объявление

Описание

property Count: Integer;

Возвращает число элементов коллекции

type TcollectionltemClass = class of Tcollectionltem;

property ItemClass: TcollectionltemClass;

Возвращает класс-наследник

TCollectionltem, экземпляры которого собраны в коллекции

property Items [Index: Integer]: Tcollectionltem;

Коллекция экземпляров класса

function Add: Tcollectionltem;

Добавляет к коллекции новый экземпляр класса

procedure Assign (Source: TPersistent) ; override;

Копирует коллекцию из объекта Source в данный объект

procedure BeginUpdate; virtual;

Отменяет перерисовку коллекции. Используется при внесении изменений в коллекцию

procedure Clear;

Удаляет из коллекции все элементы

procedure EndUpdate; virtual;

Отменяет действие метода BeginUpdate

function FindItemID(ID: Integer): TCollectionltem;

Возвращает объект коллекции с номером ID

function GetNamePath: string; override;

Возвращает имя класса коллекции во время выполнения, если коллекция не имеет владельца. Иначе возвращает название свойства класса, владеющего коллекцией

function Insert (Index: Integer): TCollectionltem;

Вставляет в коллекцию новый объект на место с номером Index

 


Знаете ли Вы, что модификаторы - это операции, которые модифицируют объекты соответствующего им типа. Например, операция push для стека.

НОВОСТИ ФОРУМА

Форум Рыцари теории эфира


Рыцари теории эфира
 10.11.2021 - 12:37: ПЕРСОНАЛИИ - Personalias -> WHO IS WHO - КТО ЕСТЬ КТО - Карим_Хайдаров.
10.11.2021 - 12:36: СОВЕСТЬ - Conscience -> РАСЧЕЛОВЕЧИВАНИЕ ЧЕЛОВЕКА. КОМУ ЭТО НАДО? - Карим_Хайдаров.
10.11.2021 - 12:36: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от д.м.н. Александра Алексеевича Редько - Карим_Хайдаров.
10.11.2021 - 12:35: ЭКОЛОГИЯ - Ecology -> Биологическая безопасность населения - Карим_Хайдаров.
10.11.2021 - 12:34: ВОЙНА, ПОЛИТИКА И НАУКА - War, Politics and Science -> Проблема государственного терроризма - Карим_Хайдаров.
10.11.2021 - 12:34: ВОЙНА, ПОЛИТИКА И НАУКА - War, Politics and Science -> ПРАВОСУДИЯ.НЕТ - Карим_Хайдаров.
10.11.2021 - 12:34: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от Вадима Глогера, США - Карим_Хайдаров.
10.11.2021 - 09:18: НОВЫЕ ТЕХНОЛОГИИ - New Technologies -> Волновая генетика Петра Гаряева, 5G-контроль и управление - Карим_Хайдаров.
10.11.2021 - 09:18: ЭКОЛОГИЯ - Ecology -> ЭКОЛОГИЯ ДЛЯ ВСЕХ - Карим_Хайдаров.
10.11.2021 - 09:16: ЭКОЛОГИЯ - Ecology -> ПРОБЛЕМЫ МЕДИЦИНЫ - Карим_Хайдаров.
10.11.2021 - 09:15: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от Екатерины Коваленко - Карим_Хайдаров.
10.11.2021 - 09:13: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от Вильгельма Варкентина - Карим_Хайдаров.
Bourabai Research - Технологии XXI века Bourabai Research Institution