函数重载是和多态不一样的, 函数重载的例子表达式如下: 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)对象的结果。 
|