Новые расширения языка
Динамические массивы
В Delphi 4 появилась возможность, наряду с обычными массивами, создавать динамические массивы, в которых не определено число элементов:
S: array of string;
Отметим, что динамические массивы могут быть многомерными:
I: array of array of integer;
Перегрузка методов
В Delphi 4 объекты могут обладать несколькими одноименными методами, отличающимися набором аргументов:
constructor Create(AOwner: TComponent); overload; override;
constructor Create(AOwner: TComponent; Text: string); overload;
Перегруженные методы отмечаются ключевым словом overload.
Параметры со значениями по умолчанию
Процедуры и функции теперь могут иметь параметры со значениями по умолчанию. Эти параметры определяются в следующей форме:
Name: Type = value
При вызове процедуры или функции с параметрами, имеющими значение по умолчанию, этот параметр может быть опущен. Например, если определить какую-либо процедуру следующим образом:
procedure MyProc(A: Integer; B: Integer = 0);
то следуюшие два выражения будут эквивалентны:
MyProc(I, 0);
MyProc(I);
Соответственно параметры со значениями по умолчанию должны находиться в конце списка параметров процедуры или функции.
64-битные целые
В Delphi 4 введен новый тип данных - Int64 (64-битные целые). Диапазон значений этого типа данных - от -263 до 263 - 1. Отметим, что функции High, Low, Succ, Pred, Inc, Dec, IntToStr, IntToHex, Round, Trunc поддерживают тип Int64. Введены также новые функции StrToInt64 и StrToInt64Def для поддержки этого типа данных.
32-битные беззнаковые целые
В Delphi 4 введен новый тип данных Longword, представляющий собой 32-битовые беззнаковые целые числа. Диапазон значений этого типа данных - от 0 до 4294967295.
Делегирование реализации интерфейса свойству
В Delphi 4 введена новая директива implements, позволяющая делегировать реализацию интерфейса свойству. Например,
property Interface1: IInterface1 read FInterface1 implements IInterface1;
определяет свойство Interface1, реализующее интерфейс Interface1.
Назад | Содержание | Вперед