最近比较有时间打算把delphi从2009以后的一些新特性学习一下.
delphi泛型出来很久了,好像是2009 之后,由于一直没有使用,所以还比较生疏.
注意: 我以后的例子都是用xe7 来写的.
泛型容器类单元 :System.Generics.Collections
关于泛型的概念大家可以到网上搜一搜,大把的信息,我就不多说了,我主要写一些我自己的理解,如有不对的地方请指出
个人理解泛型主要是解决容器类只能对固定类型对象的容纳.
例如 老版本的 Tobjectlist 所容纳的类型是Tobject
比如有一个TA 的类 所调用的添加方法还是Add(obj:Tobject);
但是有了泛型 就不一样了 变成add(obj:TA);
在写代码的时候方便多了,而且在实际编程中,经常会遇到 多个容器 来容纳不同的对象,有的时候需要自己二次对TObjectlist 进行封装,很不方便.
有了泛型就方便多了.
-------------------------
Ta = class
public
function add(x,y:Integer):integer;
end;
{ Ta }
function Ta.add(x, y: Integer): integer;
begin
result := x+y;
end;
---------------------------------
使用方法.
var
objlist:TObjectList<Ta>;
a :Ta;
begin
a:=Ta.Create;
objlist := TObjectList<T