Шаблон словаря TDictionaryo

Категория: Учебники по Delphi » Delphi XE

 

В заключительном разделе главы познакомимся с весьма неординарным шаб­лоном— словарем TDictionaryo. Словарь ОПИСан В модуле System.Generics. Collections и, как и положено любому словарю, предназначен для обслуживания пар ’’ключ — значение”, поэтому в его объявлении присутствуют два обобщенных типа^- TDictionary<TKey, TVaiue>. Ключ в словаре должен быть уникален, благода­ря этому осуществляется быстрый и однозначный поиск соответствующего ему значения.

Класс вооружен несколькими конструкторами, простейший из них

constructor Create(ACapacity: Integer =0); overload;

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

Для добавления в словарь новой пары "ключ — значение” используют метод

 

Шаблон списка объектов, класс TObjectListo

Категория: Учебники по Delphi » Delphi XE

Рассмотрим очередной шаблонный класс, входящий в состав модуля System.Generics.Collections. Класс TObjectListo легко справится с хранением лю­бого заданного программистом перечня объектов и предоставит доступ к любому из объектов по его индексу.

По своей сути класс представляет собой список, способный выступать владельцем объектов. Именно поэтому, при создании экземпляра класса конструктор
constructor Create(AOwnsObjects: Boolean = True);
по умолчанию устанавливает аргумент владения AOwnsObjects в состояние true. Впрочем, если по какой-то причине в момент создания списка вы передали в кон-
структор аргумент false, никто не запретит вам передумать и сделать список вла­дельцем объектов. Для этого обратитесь к свойству
property OwnsObjects: Boolean; из кода вашей программы.
Среди примеров к книге есть небольшая программа-игра, демонстрирующая работу TObjectListo. Суть игры заключается в том, что пользователь должен ловить ле­тящие вниз шарики — экземпляры класса TCircie

 

 

Шаблон массива, класс ТАггауо

Категория: Учебники по Delphi » Delphi XE

В Delphi вы найдете немало классов, работающих с данными обобщенного типа. Давайте познакомимся с одним из наиболее показательных классов — шаблоном массива ТАггауО. Класс-шаблон ТАггауО ОПИСан В модуле System. Generics.
 

Перегрузка методов с параметром обобщенного типа

Категория: Учебники по Delphi » Delphi XE

 

Наличие у метода класса параметра обобщенного типа не служит препятствием при перегрузке одноименных методов. Листинг 3.6 демонстрирует порядок объявления и перегрузки обычного метода и шаблона метода с параметром обобщенного типа.


 

Наследование шаблона класса

Категория: Учебники по Delphi » Delphi XE

 

Любой, построенный на основе концепции обобщенного типа данных, шаблон класса вправе выступать в качестве предка для своей цепочки классов-наследников. Объявляя дочерний класс, программист принимает решение о статусе параметра обобщенного типа.
Предусмотрены два варианта наследования:
  • наследование с сохранением обобщенного типа данных, другими словами, класс-наследник остается шаблоном;
  • наследование с явной конкретизацией типа данных, который следует использо­вать при работе дочернего класса.

 
Назад Вперед