菜鸟入门之浅谈函数重载和多态的区别

王朝delphi·作者佚名  2006-01-08
宽屏版  字体: |||超大  

函数重载是和多态不一样的,

函数重载的例子表达式如下:

function Foo(i:Integer):string;overload;

function Foo(s:string):string;overload;

通过传不同的参数,选择执行不同函数执行。

而多态是通过把子类对象赋给父类对象(大逆不道?!:)),

让父类对象具有子类对象的方法,例子表达式如下:

TParent=class(TObject)

procedure Draw;virtual;

end;

TChild=class(TParent)

procedure Draw;override;

procedure ShowHierarchy;virtual;

end;

Parent:=Child;

Parent.Draw;//执行子类的Draw;

这就是我们为什么总是看见sender:TObject的参数,

就是把子类对象如1个Button赋给父类(Tobject)对象的结果。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有