Главная » Delphi » Псевдоним типа Delphi

0

Object  Pascal позволяет присвоить новое  имя уже существующему типу данных, т.е. создать  его псевдоним (alias).  Например, если обычному типу Integer необходимо при своить новое имя MyReallyNiftyInteger, то можно использовать следующий код:

type

MyReallyNiftyInteger = Integer;

Новый тип аналогичен оригиналу. Это означает, что везде,  где использовался тип

Integer, есть возможность применять тип MyReallyNiftyInteger.

Но можно создать и строго типизированный (strongly typed) псевдоним (т.е. псевдо

ним, не совместимый с оригиналом), для чего используется дополнительное  ключе

вое слово type.

type

MyOtherNeatInteger = type Integer;

При  этом  новый тип  будет преобразовываться в оригинальный при  таких  опера циях,  как присвоение, но как параметр он будет не совместим с оригиналом. Следую щий код синтаксически корректен:

var

MONI: MyOtherNeatInteger;

I: Integer;

begin

I := 1;

MONI := I;

Но код, приведенный ниже, не может быть откомпилирован из за ошибки совмес

тимости типов:

procedure Goon(var Value: Integer);

begin

// Некоторый код

end;

var

M: MyOtherNeatInteger;

begin

M := 29;

Goon(M);  // Ошибка: тип переменной M не совместим с IntegerПомимо усиленного контроля за совместимостью типов  данных, для строго типизи рованных псевдонимов компилятор также  генерирует информацию о типах  времени выполнения программы. Это  позволяет создавать уникальные редакторы свойств для простых типов.  Более подробная информация по  данной теме  приведена в главе  12, “Создание расширенного компонента VCL”.

Источник: Тейксейра, Стив, Пачеко, Ксавье.   Borland Delphi 6. Руководство разработчика. : Пер.  с англ. — М. : Издательский дом “Вильямс”, 2002. —  1120 с. : ил. — Парал. тит. англ.

По теме:

  • Комментарии