文件名称:
Using_New_style&framework;_of_DelphiPrograming.pdf
开发工具:
文件大小: 266kb
下载次数: 0
上传时间: 2019-07-01
详细说明:Using_New_style&framework;_of_DelphiPrograming.pdf取到的式樱饮格实*榍
证型對遍較憾诉的,球立个是不|我将蛇叫除解是
吐t
簧傅创婶浚,江小限制希料年
式砖婶犁R
感赵都习叫解邮的路讓們年七关消
語法開
type
KEyvalue= class
private
FKey: string;
FValue: T:
procedure Setkey (const value: string;
procedure Setvalue(const value: T);
public
property Key: string read FKey write Setkey;
property value: T read Fvalue write setvalue
end
婶肌美,一個芹符號T表的本折婶犁通 KEyvalue飩
异徊本指的婶平作性伸横和
法数些法的力式用背楼,下
酒使少們笑年增相,七门台却的先名相,1由年指通吲奏型
procedure Keyvalue Setkey (const value: string;
begin
FKey : value:
end
procedure keyvalue Setvalue (const value: T);
begin
FVa lue : value:
end
1明輝,即您先擊F輝·伊珀刖的際。例如,轧您卩!摆声列
息,灼单物件撼伸
kv: KeyvAlue i
建亡问旧传時一这有先?,馬后是除婶台、庠生的年驾台如嬋平
健榜
取到的式樱饮格实*榍
對伸對能
TButton
物件声可辑年下间法”了下息都分式
七類刊的傅會
// Formcreate
ky : KEyvAlue create;
// Button1click
kv. key = mykey:
kv value : Sender as tbutton
// Button2Click
kv value : Sender as tbutton / was self
// Button3click
showMessage ([ kv Key +,+kv value. Name +] )i
在熟节供通物件時,我們平多F去即自前萨,是幂
署听的身即,用均,我們饿元 Name Fi TButton的任单其户霉性
个地椅甲单 ky Value. className
茸继,我“模似始的式,法梁伸到定
kvo: KEyvalue;
在本萨通伸對奏H!,我們?年物作伸。不,我們到的物牛听予做
的限,除儿将出們轉按特非的鄰型抄型一僻好的于,您萨布望在
特的拔多军任甲物件信甲目,当形求伸一旧元件
I kvc: KEyvAlue
最,們!肄划续伸對冠l臀·个備物件闸可是儒擊,如
kvi: KEyvalue
泛型的婶犁即
其g泛型的轨行信臀时,在听潮的个荚H譯器會狗制止年脚特
本肉,如即狮的道刂輝研
type
TsimpleGeneric= class
Va lue: T;
end:
取到的式樱饮格实*榍
var
sg1: TsimpleGeneric
12: TsimpleGeneric
begin
sgl TSimpleGeneric create:
sg2 : TSimpleGeneric create
11. value
foo
1. value 10
Error
E2010 Incompatible types: string and Integer
12. value =foo//Error
E2010 Incompatible types: 'Integer and 'string
sg2 Value =10;
在想走犁式远牛单,种譯器角草机鞦下世式,“两划照
增邮
語音的期式,鄰型檢重“溝合再到。在椰物件拍测爸,您法指
泛犁擦个刷的不相昝掠犁芦僻哈艹。閃「節例該中
嗦蒼清
sg1 TsimpleGeneric, create; / Error
E2010 Incompatible types:
TSimpleGeneri c
and TsimpleGeneric
型省性却是轴椭下揉型,能您祭法灼泛型被愕菲翁个的下
相省的婶
F的泛型
在前例H,我們F如甲和与别’看却是
引造介产浚其H·的心。我決施例介解些小,貅後刊按来技怖
’些年相均鬧原真在年予向介解泛业,我們将會单需門限多前
例,年指通器鄰的和是在帝斧印币
侣三氏
鄰明時’亓门t的折扔额外的「」中示
type
TMyClass = class
end
犁卩时个邦概的鄰型如线在上例所做前、钟性的婶型、作念鄰犁所
的傅等
取到的式樱饮格实*榍
萨*是地2单B的天市是
形式的伟中牌型千通珍鄰,声拒售总,在长的
“!法和自部道即)。可用方
您m法首域式,们是印使
婶別法台与婶别,沒可网樣
帮中览望,“三所彩降待执污時期楼窥事·刷称害的在诗
萨像其門声意橾’在
Hrf泛亠下赳枃挎鞦污時期郑’而赳門洞譯凇和連詰
’會蟋生的与頲節本鄰车生節本亐一,三是在群旰期產生!我們將會郅
些法萨萨仰市的缺两,住予单一,截味可明实一母车保丰悲至
所的家。
泛型
[前,我两的最用理是,到泛的物件听做有医。网鸡法
声事
苏法利与幕两期相式线世朽殊p式,章些的F郡接泛
0法1法逆通較悬將叫嬋肌式
使婶犁
的制
我片本印松一都分,二普称四如线推是的,宁一斯阳F
附傳森的式’即概通則泛犁七的会欺婶犁T降的
Default(T过会新的的式,角外對前犁枣甲水印、「特迪」
叛等、2郡、n
TypeInfo〔T)曾便甲指,菲乳行远型門两期
size0f(T)傅刊矩犁的声惋+小!元把椰即
列的例舞圳,鄹示=微型所式鞅问的
type
TSampleclass = class
private
data: T
public
procedure zero;
function GetDatasize: Integer;
function GetDataName: string;
end
function TSampleclass. GetDatasize: Integer
begin
Result:= sizeof〔T)
取到的式樱饮格实*榍
end.
function Tsampleclass. GetDataName: string
begin
Result := GetTypeName (TypeInfo (T)):
end
procedure Tsampleclass. Zero;
begin
data : Default (ti
end
GetDataName法,我做到 GetTypeName前式我
即元拶存平
料民山放嬋台叫
问漓产
在难上选中千情训下,总譯列浏款利式,些程式假吐三假下利的泛型问
1目本y
我当·利带,但是队留别4含data欄使的陳逃式,
v們會体的除的犁:
var
tl: TSamp lecl ass;
t2: TSamplecl ass
t3: TSamplecl ass;
begin
t1:= TSampleclass');
Log (data:+IntTostr(tl, data))
Log type: +tl. GetDataName);
00D
C size:+IntTostr (tl. GetDatasize))
t2: TSampleclass create;
Log data:+t2data);
t3: TSampleclass create
Log (data:+ FloatTostr (t3. data))
行止佛产牵生列
TSampleclass
data: 0
type: Integer
size: 4
TSampleclass
data
type: string
size: 4
TSamplecl ass
取到的式樱饮格实*榍
data: 0
type: Doub le
size: 8
形惠是,您P1在消时鄰外将七雄增!母泛型印式。例,摆
Var
I:工 nteger;
s: string;
begin
I Default (Integer);
Log Default Integer :+IntTostr
(工)
S := Default (string)
og Default string
Log TypeInfo string:+
GetTypeName (TypeInfo (string);
籴1叫 Default+
是全的作法管翁本少外式些伴節·是全
储览印 TypeInfo叫F在套1。地首逼
Default Integer: 0
Default string
TypeInfo string: string
沅型限
如前F所纠的,準鄰明的专法對近型单听护做种相背。息下!像逸v一时是’指
,称问排型F評可四作要
F狮到婶的泛军轨二些除向任美,到到制。例红,将机
甲時,辈盟將尸酸您在其!世所有 eis Tobject ty法您山造一而四市年
是希管的部是问转的介P
探的筒制是军机”园使,管灯泛型
type
TSampleclass class
指年,其示总使物件類型作蝠泛犁。
取到的式樱饮格实*榍
前列首:
ype
TSampleclass = class
private
data: T:
ublic
procedure one
function Read: T
procedure setT (t: T)
end:
弹前内旧,是下于弹新三:
samplel: TSampleclass;
sample: TSamp assi
sample: TSamplecl ass; //Error
潭辑段一但种譯器纬
E2511 Type parameter t must be a class type
制侵什读2在,在到類肌法,!吧任闸的 Tobject法,其H
procedure Tsamplecl ass.one
begin
f assigned (data) then
eat
Form30. Log ( ClassName:+ data ClassName);
Form30. Log(size:+IntToStr (data. Instancesize));
Form30. Log( Tostring:+ data Tostring)
end
end.
心F科式,隐单让七时恒帮鞦的铛读斯,如列程伸牛段
var
samplel: TSampleclass;
begin
samplel TSamplecl ass create:
try
samplel SetT (sender as TButton)
samplel. one;
finally
samplel Free;
end
取到的式樱饮格实*榍
谢注意,目的 Tostring法雄,背料物件撼铕奏型賻,灬雨拒伊希泛
年,和叫车按”门 TButton下
type
TMyButton class (TButton)
public
function ToString: string; override;
end
“中技 SAmp1ec1 ass傅半件我赳表泛的士轴问鴨,
网情洞,叫ne具个 Tostring
var
samplel: TSamplecl ass;
samp le2: Samp lec l ass
b: TMyButton
legIn
sample1.setT〔mb);
samplel.one
sample SetT (mb);
sample. one;
却别,您F!如的声续四制
type
TSampleRec = class
个羁,个甲多其同少没其始,因些军[。
特鄰肌
如的通年机和肌的信先階针·即歐新!
的本年并制。例如,如
type
TCompcl ass = class
通婶的執污会明车元件鄰,萨是任 Component个即。息
速构卟是改特,俱是際上是如世甲時譯器户讓忘做
COmponent婶所1法泛
如们上松着·神利想截。如封使声肉型相年即少到精
即您
痂间
(系统自动生成,下载前可以参看下载内容)
下载文件列表
相关说明
- 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
- 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度。
- 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
- 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
- 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
- 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.