Что означает "inherited" ?

Вопросы программирования на Free Pascal, использования компилятора и утилит.

Модератор: Модераторы

Что означает "inherited" ?

Сообщение trifon » 18.02.2007 21:56:39

Увидал в JEDI-SDL такую конструкцию
Код: Выделить всё
destructor TSDLTicks.Destroy;
begin

  inherited;
end;

Вопрос: что означает "inherited", нужно ли вставлять его в destructor и для чего?
trifon
постоялец
 
Сообщения: 135
Зарегистрирован: 24.12.2006 12:08:35

Сообщение trifon » 18.02.2007 22:11:13

Вобщем можете не отвечать я в мануале прочёл.
Странно нафига это вставили в TSDLTicks, если он не от кого не унаследован.
trifon
постоялец
 
Сообщения: 135
Зарегистрирован: 24.12.2006 12:08:35

Сообщение MylnikovDm » 18.02.2007 22:25:17

Это обычная практика в программировании на Object Pascal. Это сейчас TSDLTicks ни от кого не унаследован, но в будущем у него может появиться предок. Поэтому чтобы потом не править код часто зарание вставляют inherited. В том числе это делает и функция автогенерации кода в IDE.

Если у класса нет предка, либо если у предка нет такого метода, то строка inherited будет компилятором проигнорированна.
MylnikovDm
постоялец
 
Сообщения: 103
Зарегистрирован: 15.02.2007 21:26:10
Откуда: Челябинск

Сообщение Cheb » 18.02.2007 22:27:08

Как же ни от кого не унаследован?
А TObject?

Не стоит забывать:
TMyClass = class <...>
на самом деле означает
TMyClass = class (TObject) <...>
Аватара пользователя
Cheb
энтузиаст
 
Сообщения: 994
Зарегистрирован: 06.06.2005 15:54:34

Сообщение Sergei I. Gorelkin » 19.02.2007 02:07:01

На самом деле, если метод состоит только из вызова inherited, и не планируется ничего добавлять, то его можно вообще удалить вместе с объявлением. От этого работа программы не изменяется, а читабельность кода улучшается...
Аватара пользователя
Sergei I. Gorelkin
энтузиаст
 
Сообщения: 1406
Зарегистрирован: 24.07.2005 14:40:41
Откуда: Зеленоград

Сообщение Cheb » 19.02.2007 03:07:47

Если у класса нет предка,

У класса *не может* не быть предка (единственное исключение - TObject)
Аватара пользователя
Cheb
энтузиаст
 
Сообщения: 994
Зарегистрирован: 06.06.2005 15:54:34


Вернуться в Free Pascal Compiler

Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot] и гости: 1

Рейтинг@Mail.ru