"Delphi 2009" 버전부터 Generic(제네릭)을 지원하기 시작했다.
자바의 그것과 유사하게 디자인되어 있으므로, 자바를 먼저 공부했다면 쉽게 사용할 수 있을 것이다.
TSample<T> = class // T : Type. Object type도 인자로 받을 수 있다.
private
FValue :T;
public
function GetValue :T;
procedure SetValue(param :T);
property Value :T read GetValue write SetValue;
end;
procedure GenericDemo;
var
GenTestInt :TSample<Integer>;
GenTestStr :TSample<string>;
begin
//Integer Type
GenTestInt := TSample<Integer>.Create;
GenTestInt.Value := 1;
ShowMessage(IntToStr(GenTestInt.GetValue));
//String Type
GenTestStr := TSample<string>.Create;
GenTestStr.Value := '1';
ShowMessage(GenTestStr.GetValue);
end;
GenTestInt.Value := 1
라인과 GenTestStr.Value
라인에서 형변환을 하지 않고도 대입할 수 있다.