type
c=class
procedure asd;virtual;
end;
c1=class(c)
procedure asd;override;
end;
{реализация}
...
{реализация}
var a:c;
begin
a:=c1.Create;
a.asd;//будет вызвана c1.asd, если бы метод был статическим вызван был бы c.asd
end;
Наследование метода Create классом TOBject
Dот на такой конструктор constructor Create;override; выдается ошибка Cannot override a static metod;
Цитата: Crainov
Почему если я создаю обьект родителем которого является TObject то не могу унаследовать его конструктор(конструктор TObject).
Dот на такой конструктор constructor Create;override; выдается ошибка Cannot override a static metod;
Dот на такой конструктор constructor Create;override; выдается ошибка Cannot override a static metod;
а зачем его неаследовать? он ведь все равно ничего не делает. а унаследуешь ты его в любом случае, ведь вызвать inherited ты можешь.
override это не наследование, наследовать можно не только виртуальные и динамические методы, override это перекрытие ранее объявленого виртуального или динамического метода, чтобы работала конструкция вида
Код: