Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Перегрузка метода


Разведка ©   (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;
Где то читал, что такая конструкция вызова хамская, а в чем хамство?


Наверх

Титульная страница Поиск, карта сайта Написать письмо