Delphi-Help

Is

Печать
Рейтинг пользователей: / 1
ХудшийЛучший 

Is

Описание

Object reference Is Class reference

Ключевое слово Is используется, чтобы проверить, принадлежит ли объект классу, или является его родителем.
Например, вы можете проверить, чем является графический компонент TButton, или TList, или ни тем, ни другим.
Все объекты принадлежат классу TObject, из которого они, в конечном счете, получены.

Пример кода

// Полный код Модуля.
// -----------------------------------------------------------
// Вы должны поместить этот код в модуль с именем Unit1 и с формой
// названную
Form1, которая имеет событие OnCreate названное FormCreate.
unit Unit1;

interface

uses
Forms, Dialogs, Classes, Controls, StdCtrls;
type
//
Определение нового типа класса
TFruit = class
public
name : string;
published
constructor Create(name : string);
end;
//
Определение двух порожденных типа
TApple = class(TFruit);
TPear  = class(TFruit);
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
end;
var
Form1: TForm1;

implementation
{$R *.dfm} // Include form definitions

//
Создание объекта fruit
constructor TFruit.Create(name: string);
begin
self.name := name;
end;

procedure TForm1.FormCreate(Sender: TObject);
var
fruit  : TFruit;
apple  : TApple;
pear   : TPear;
begin
//
Создание двух разных объектов fruit
apple  := TApple.Create('Pink Lady');
pear   := TPear.Create('Comice');
//
Они оба TFruit или порожденные типы
if apple  Is TFruit then ShowMessage(apple.name +' - fruit');
if pear   Is TFruit then ShowMessage(pear.name  +' - fruit');

// Apple
также является типом TApple
fruit := apple;
if fruit Is TApple then ShowMessage(apple.name  +' - apple');
//
Но яблоко не является грушей
if fruit Is TPear    // 'if apple is TPear'
не скомпилируется
then ShowMessage(apple.name+' - pear')
else ShowMessage(apple.name+' -
не является pear');
end;
end.

Pink lady - fruit
Comice - fruit
Pink lady - apple
Pink lady -
не является pear

Примечание

Авторизация



Счетчики