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

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

Надо ли ставить override? [D7]


Ega23 ©   (2008-05-28 10:50:00) 

для абстрактного метода?
Суть такова:

TCusomClass = class (TObject)
public
 procedure Clear; virtual; abstract;
end;

TMyClass = class (TCusomClass)
public
 procedure Clear; override;
end;


Всегда ставил. Вчера выяснилось, что из IDE по Ctrl + Space можно выпадающий список вызвать для перегрузки методов. Так вот, для просто virtual-метода автоматически override подставляется, а для virtual abstract - нет. Задумался. Это просто недоработка шаблона IDE, или там override действительно не нужен?


Ega23   (2008-05-28 10:59:00) [1]


> Ins ©   (28.05.08 10:56) [3]


Хороший пример. Понял.

Всем спасибо!


Ins   (2008-05-28 10:56:00) [2]

Нужен. В качестве доказательства лови Abstract Error

procedure TForm1.FormCreate(Sender: TObject);
var
 Obj: TCusomClass;    // Объявляем как TCusomClass
begin
 Obj := TMyClass.Create; // А создаем - TMyClass
 try
   Obj.Clear;
 finally
   Obj.Free;
 end;
end;


Игорь Шевченко   (2008-05-28 10:55:00) [3]

Надо. Иначе ты оборвешь цепочку методов.


clickmaker   (2008-05-28 10:53:00) [4]

по логике не нужен. Ведь в базовом реализации нет - нечего и перекрывать


Наверх

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