Главная страница
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.48 MB
Время: 0.056 c
15-1330079134
AV
2012-02-24 14:25
2013.03.22
Контроллер, большой, промышленный. Для чего? (vs Обычный ПК?!)


6-1263450403
romich
2010-01-14 09:26
2013.03.22
Фотохостинг


15-1350904692
Newersim
2012-10-22 15:18
2013.03.22
Помогите перевести пару строк на с++


15-1353223486
AV
2012-11-18 11:24
2013.03.22
Как правильно сказать по- английски


15-1341656050
ФЫВАОЛДЖ
2012-07-07 14:14
2013.03.22
Случайности не случайны.