Облака / Clouds
    Go to Copy.com
    Copy.com
    The bast cloud service
    Get 20 GB free!!!
    Support WebDav.
    Show more >>

    Go to Dropbox.com
    Dropbox.com
    time-tested cloud storage
    Support WebDav.
Все бесплатно
    Все ссылки на файлы, расположенные на страницах сайта, добавлены пользователями и доступны для бесплатного скачивания. За содержание этих файлов администрация сайта ответственности не несет.



Вопросы
  Автоматическое определения кодировки текста
   Категория: Текст и строки
  Тpансляция ошибок в BDE
   Категория: Базы данных
  Как удалить не пустой каталог
   Категория: Файловая система
  Список ошибок BDE
   Категория: Базы данных
  Объект экрана — Screen
   Категория: Компоненты
  Создание и удаление полей
   Категория: Базы данных
  Удалить лишние символы из строки
   Категория: Текст и строки
  Как поместить графический элемент в ListBox
   Категория: Компоненты
  Определить МАС-адрес карты
   Категория: Интернет и Сети

Delphi - Справочник: Inherited

ABCDEFGHIJKLMNOPQRSTUVWXYZ

  << Вернуться  

 Inherited
1. Create;
begin
Inherited; // Всегда вызывается в начале конструктора
...
end;

2. Create(arguments);
begin
Inherited Create(arguments); // Всегда вызывается в начале конструктора
...
end;

3. Destroy
begin
...
Inherited; // Всегда вызывается в начале конструктора
end;
Ключевое слово (Unit )
Используется для вызова родительского класса конструктора или метода деструкто
Описание:
Ключевое слово Inherited используется, чтобы назвать родительский конструктор или метод деструктора, как соответствующий для текущего класса.

Оно вызывается в начале конструктора, и в конце деструктора. Это не является обязательным, но рекомендуется.

Без параметров Inherited вызывает так же названный метод родительского класса, с теми же самыми параметрами.

Вы можете вызвать различный родительский метод, при его соответствии.
Пример кода: Примеры Inherited с и без явных родительских имен метода

// Полный код Модуля. // ----------------------------------------------------------- // Вы должны поместить этот код в модуль с именем Unit1 и с формой // названную Form1, которая имеет событие OnCreate названное FormCreate. unit Unit1; interface uses Forms, Dialogs, Classes, Controls, StdCtrls; type // Определение родительского класса основанного, по умолчанию, на TObject TFruit = class public name : string; Constructor Create; overload; // Этот конструктор использует умолчания Constructor Create(name : string); overload; end; // Определение типа потомка TApple = class(TFruit) public diameter : Integer; published Constructor Create(name : string; diameter : Integer); end; // Класс формы используемой этим модулем TForm1 = class(TForm) procedure FormCreate(Sender: TObject); end; var Form1: TForm1; implementation {$R *.dfm} // Вложение определений формы // Создание объекта fruit - версия без параметров constructor TFruit.Create; begin // Сначала выполняется родительский конструктор (TObject) Inherited; // Вызов родительского метода Create // Теперь устанавливаем имя fruit, по умолчанию self.name := 'Fruit'; end; // Создание объекта fruit - версия с параметрами constructor TFruit.Create(name: string); begin // Сначала выполняется родительский конструктор Inherited Create; // Вызов родительского метода Create // И сохраняем имя fruit self.name := name; end; // Создание объекта apple constructor TApple.Create(name: string; diameter : Integer); begin // Сначала выполняется родительский конструктор (TFruit) Inherited Create(name); // Вызов родительского метода // Теперь сохраняем переданный apple диаметр self.diameter := diameter; end; // Основная строка кода procedure TForm1.FormCreate(Sender: TObject); var fruit : TFruit; banana : TFruit; apple : TApple; begin // Создание 3 различных объекта fruit fruit := TFruit.Create; banana := TFruit.Create('Banana'); apple := TApple.Create('Pink Lady', 12); // Смотрим какие из наших объектов являются fruit if fruit Is TFruit then ShowMessage(fruit.name +' is a fruit'); if banana Is TFruit then ShowMessage(banana.name +' is a fruit'); if apple Is TFruit then ShowMessage(apple.name +' is a fruit'); // Смотрим какие объекты являются apple if fruit Is TApple then ShowMessage(fruit.name +' is an apple'); if banana Is TApple then ShowMessage(banana.name +' is an apple'); if apple Is TApple then ShowMessage(apple.name +' is an apple'); end; end.

Результат:
Fruit is a fruit
Banana is a fruit
Pink Lady is a fruit
Pink Lady is an apple

  << Вернуться