testgenericinterface.out
来自「格式化源码的最新板」· OUT 代码 · 共 68 行
OUT
68 行
program testgenericinterface;{$APPTYPE CONSOLE}
uses
SysUtils;
type
imoninterface<
t> = interface
procedure set_valeur(const avaleur: t);
function get_valeur: t;
property valeur: t Read get_valeur Write set_valeur;
end;
imoninterfacederivee<t> = interface(imoninterface<t>)
procedure multiplier(amulplicateur: t);
end;
tclassetest<t> = class(TObject, IMonInterfaceDerivee<T>)
private
fcompteur: t;
public
procedure set_valeur(const avaleur: t);
function get_valeur: t;
procedure multiplier(amulplicateur: t);
procedure faitquelquechose;
end;
procedure tclassetest<t>.set_valeur(const avaleur: t);
begin
fcompteur := avaleur;
end;
function tclassetest<t>.get_valeur: t;
begin
Result := fcompteur;
end;
procedure tclassetest<t>.
multiplier(amulplicateur: t);
begin
end;
procedure tclassetest<t>.faitquelquechose;
begin
writeln(typeof(t));
end;
var
obj: tclassetest<integer>;
obj2: tclassetest<double>;
begin
try
obj := tclassetest<integer>.Create;
obj.set_valeur(10);
writeln(obj.fcompteur);
obj.faitquelquechose;
writeln;
obj2 := tclassetest<double>.Create;
obj2.set_valeur(10);
writeln(obj2.fcompteur);
obj2.faitquelquechose;
except
on e: Exception do
writeln(e.ClassName, ': ', e.message);
end;
readln;
end.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?