函数重载是和多态不一样的,函数重载的例子表达式如下: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)对象的结果。
Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved. 闵涛 E_mail:admin@mintao.net(欢迎提供学习资源)
鄂公网安备 42011102001154号
站长:MinTao ICP备案号:鄂ICP备11006601号-18