加载中…
个人资料
步惊云
步惊云
  • 博客等级:
  • 博客积分:0
  • 博客访问:10,636
  • 关注人气:3
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
相关博文
推荐博文
谁看过这篇博文
加载中…
正文 字体大小:

什么是泛型

(2020-11-25 17:24:20)
标签:

杂谈

分类: FMX$Datasnap

泛型是一种占位替代。先设计好一个模板,这个模板可以是类、结构体、数组、函数等,模板的可变数据类型部分先用<T>占个位,然后在最终使用时,迭代为具体真实的数据类型。objectpascal对泛型支持上,对泛型函数似乎还不够彻底。

implementation

{$R *.fmx}

type

TArr<T> = array of T; //定义一个泛型数组类型

Ttest<T1,T2>=record //定义一个泛型结构

a:T1;

b:T2;

end;

procedure TForm1.Button1Click(Sender: TObject);

var

Arr:Tarr<integer>;//具体使用时,必须替换为真实数据类型

i:integer;

begin

SetLength(Arr,10);

for i := Low(Arr) to High(Arr) do

Arr[i] := i * i;

Memo1.Lines.Clear;

for i := Low(Arr) to High(Arr) do

Memo1.Lines.Add(Format('Arr[%d] = %d', [i, Arr[i]]));

end;

procedure TForm1.Button2Click(Sender: TObject);

var

Arecord:Ttest<string,string>;//具体使用时,必须替换为真实数据类型

begin

Arecord.a:='测试';

ARecord.b:='泛型';

Memo1.Lines.Clear;

Memo1.Lines.Add(ARecord.a+arecord.b);

end;

0

阅读 评论 收藏 转载 喜欢 打印举报/Report
  • 评论加载中,请稍候...
发评论

    发评论

    以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

      

    新浪BLOG意见反馈留言板 欢迎批评指正

    新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

    新浪公司 版权所有