Реферат: Объектно-ориентированный подход к программированию
Procedure SetDate(Val: string); overload; // Объявляемвозможностьперегрузки
…
End;…
implementationProcedure TmyDateClass .SetDate(Val: TDateTime);
Begin
Adate:=Val;
End;
Procedure TmySecondDateClass.SetDate(Val: string);
Begin
Adate:=StrToDate(Val);
End;
Во время работы программы, вы можете использовать во втором классе оба метода SetDate. Если Вы передадите в качестве параметра строку, то будет вызван метод второго класса, а если TdateTime, то метод предка. Можно перегружать и виртуальные методы, только вместо override нужно использовать reintroduce, например:
Type
TmyDateClass=class(TObject)
private
Adate: TdateTime;
…
Public
Procedure SetDate(Val: TDateTime); overload; virtual; // Объявляемвозможностьперегрузки
…
end;
TmySecondDateClass=class(TmyDateClass)
private
Adate: TdateTime;
…
Public
Procedure SetDate(Val: string); reintroduce; overload; // Объявляемвозможностьперегрузки
…
End;Вы можете использовать перегрузку и для процедур и функций необязательно при наследовании, и даже процедур и функций не классового типа, например: