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

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

		type TDemoClass = class
		procedure DemoMethod(X: double); overload; //обычный метод procedure DemoMethod<T>(X: T); overload; //шаблон метода
		end;

 

 

В распоряжении демонстрационного класса имеются два метода DemoMethod (). Па­раметр первого метода задан явным образом в виде действительного типа double, а параметр второго представлен в виде обобщенного типа т.

 

 

 

 

	var SC:TDemoClass; begin
	SC:=TDemoClass.Create ;
	SC.DemoMethod(3.1426); //обращение к DemoMethod(X: double)
	SC.DemoMethod<Integer>(500); //обращение к шаблонуDemoMethod<T>(X: T)
 

Обратите внимание на то, что при вызове шаблона метода с обобщенным парамет­ром следует определиться с типом обрабатываемых данных, указав его в угловых скобках после названия метода.

 

 
Замечание
Основные обобщенные типы данных Delphi объявлены в модуле Generics. Collections. Здесь вы обнаружите шаблоны для таких структур данных, как списки TList<T>, очереди TQueue<T>, стеки TStack<T>, словари TDictionary<TKey, TValue> ИТ. д.


dle

Помоги проекту! Расскажи друзьям об этом сайте: