Форум: "Начинающим";
Текущий архив: 2008.06.22;
Скачать: [xml.tar.bz2];
ВнизНадо ли ставить override? Найти похожие ветки
← →
Ega23 © (2008-05-28 10:50) [0]для абстрактного метода?
Суть такова: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 действительно не нужен?
← →
clickmaker © (2008-05-28 10:53) [1]по логике не нужен. Ведь в базовом реализации нет - нечего и перекрывать
← →
Игорь Шевченко © (2008-05-28 10:55) [2]Надо. Иначе ты оборвешь цепочку методов.
← →
Ins © (2008-05-28 10:56) [3]Нужен. В качестве доказательства лови Abstract Error
procedure TForm1.FormCreate(Sender: TObject);
var
Obj: TCusomClass; // Объявляем как TCusomClass
begin
Obj := TMyClass.Create; // А создаем - TMyClass
try
Obj.Clear;
finally
Obj.Free;
end;
end;
← →
Ega23 © (2008-05-28 10:59) [4]
> Ins © (28.05.08 10:56) [3]
Хороший пример. Понял.
Всем спасибо!
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2008.06.22;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.045 c