函數重載是和多態不一樣的,
函數重載的例子表達式如下:
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)對象的結果。