Разное
Облака / Clouds
The bast cloud service
Get 20 GB free!!!
Support WebDav.
Show more >>
time-tested cloud storage
Support WebDav.
Последние книги
Самое популярное
Все бесплатно
Все ссылки на файлы, расположенные на страницах сайта, добавлены пользователями и доступны для бесплатного скачивания. За содержание этих файлов администрация сайта ответственности не несет.
Навигация
Вопросы
Узнать используется ли файл другим приложением
Категория: Базы данных
Категория: Базы данных
Автоматическое определения кодировки текста
Категория: Текст и строки
Категория: Текст и строки
Тpансляция ошибок в BDE
Категория: Базы данных
Категория: Базы данных
Как удалить не пустой каталог
Категория: Файловая система
Категория: Файловая система
Список ошибок BDE
Категория: Базы данных
Категория: Базы данных
Объект экрана — Screen
Категория: Компоненты
Категория: Компоненты
Создание и удаление полей
Категория: Базы данных
Категория: Базы данных
Удалить лишние символы из строки
Категория: Текст и строки
Категория: Текст и строки
Как поместить графический элемент в ListBox
Категория: Компоненты
Категория: Компоненты
Определить МАС-адрес карты
Категория: Интернет и Сети
Категория: Интернет и Сети
Delphi - Справочник: Inherited
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 |