![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Перегрузка метода
Разведка © (2012-06-20 01:02:00)Уместно ли такая перегрузка?
Не будет ли она считаться хамской перегрузкой метода
type
TFrmAddFiles = class(TForm)
OpnDlg: TOpenDialog;
LBoxAdd: TListBox;
private
{ Private declarations }
public
procedure ShowModal; overload;
end;
procedure TFrmAddFiles.ShowModal;
begin
LBoxAdd.Clear;
OpnDlg.Files.Clear;
// А здесь вызываю метод предка
Tform(FrmAddFiles).ShowModal;
end;
Anatoly Podgoretsky (2012-06-20 07:24:00) [1]> Разведка (20.06.2012 01:02:00) [0]
ShowModal виртуальная функция
Плохиш (2012-06-20 02:27:00) [2]
> // А здесь вызываю метод предка
> Tform(FrmAddFiles).ShowModal;
>
Наивная простота. Попробуй книжку что ли почитать. Там и смысл оператора оверлоад описывается, и ещë инхерайтед также.
Германн (2012-06-20 02:21:00) [3]
> Разведка (20.06.12 02:17) [3]
>
> Получается, самый корректный вариант вот так только?
А чем он не устраивает?
Разведка (2012-06-20 02:17:00) [4]Получается, самый корректный вариант вот так только?
....
function ShowModal: integer; overload;
...
function TFrmAddFiles.ShowModal: integer;
begin
LBoxAdd.Clear;
OpnDlg.Files.Clear;
result := inherited ShowModal;
end;
Германн (2012-06-20 01:47:00) [5]
> Где то читал, что такая конструкция вызова хамская, а в
> чем хамство?
В методе класса нельзя ссылаться на конкретный экземпляр класса по имени переменной.
P.S.
Это не хамство. Это малограмотность.
Разведка (2012-06-20 01:09:00) [6]Tform(FrmAddFiles).ShowModal;
Где то читал, что такая конструкция вызова хамская, а в чем хамство?