Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2013.03.22;
Скачать: CL | DM;

Вниз

Перегрузка метода   Найти похожие ветки 

 
Разведка   (2012-06-20 01:02) [0]

Уместно ли такая перегрузка?
Не будет ли она считаться хамской перегрузкой метода

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;


 
Разведка   (2012-06-20 01:09) [1]

Tform(FrmAddFiles).ShowModal;
Где то читал, что такая конструкция вызова хамская, а в чем хамство?


 
Германн ©   (2012-06-20 01:47) [2]


> Где то читал, что такая конструкция вызова хамская, а в
> чем хамство?

В методе класса нельзя ссылаться на конкретный экземпляр класса по имени переменной.
P.S.
Это не хамство. Это малограмотность.


 
Разведка   (2012-06-20 02:17) [3]

Получается, самый корректный вариант вот так только?

....
function ShowModal: integer; overload;
...
function TFrmAddFiles.ShowModal: integer;
begin
 LBoxAdd.Clear;
 OpnDlg.Files.Clear;

 result := inherited ShowModal;

end;


 
Германн ©   (2012-06-20 02:21) [4]


> Разведка   (20.06.12 02:17) [3]
>
> Получается, самый корректный вариант вот так только?

А чем он не устраивает?


 
Плохиш ©   (2012-06-20 02:27) [5]


>  // А здесь вызываю метод предка
> Tform(FrmAddFiles).ShowModal;
>

Наивная простота. Попробуй книжку что ли почитать. Там и смысл оператора оверлоад описывается, и ещë инхерайтед также.


 
Anatoly Podgoretsky ©   (2012-06-20 07:24) [6]

> Разведка  (20.06.2012 01:02:00)  [0]

ShowModal виртуальная функция



Страницы: 1 вся ветка

Текущий архив: 2013.03.22;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.656 c
15-1347866374
ClawClaw
2012-09-17 11:19
2013.03.22
Сайтостроителям


2-1337504907
Глеб
2012-05-20 13:08
2013.03.22
Поиск нужного компонента


3-1283937300
Den
2010-09-08 13:15
2013.03.22
Запись изображения в БД


2-1346134856
noob_one
2012-08-28 10:20
2013.03.22
Терминал сбора данных


15-1346515594
Artem
2012-09-01 20:06
2013.03.22
Как передать файл на 2 Мб на древний DOS ноутбук?