У векторных свойств есть еще одна важная особенность. Если векторное свойство описано с ключевым словом default, то предполагается, что этот класс «построен» вокруг основного векторного свойства. Основной метод такого класса дает доступ к некоторому массиву, а все остальные методы являются как бы вспомогательными. Если у объекта есть такое свойство, то можно его не упоминать, а ставить индекс в квадратных скобках сразу после имени объекта:
Type
TMyObject = class;
property Strings [ Index : Integer ]: string read Get write Put; default;
end;
var
AMyObject : TMyObject;
begin
. . .
AMyObject. Strings [1] := 'First method'; {первый способ}
AMyObject [2] := ‘Second method’; {второй способ}
End
Следует быть внимательными, применяя зарезервированное слово default - для обычных и векторных свойств оно употребляется в разных случаях и с разным синтаксисом.
Следующий пример демонстрирует работу с векторным свойством, объявленным с ключевым словом default.

О роли свойств красноречиво говорит следующий факт. В Borland Delphi у всех имеющихся в распоряжении программиста стандартных классов все поля недоступны и заменены базирующимися на них свойствами. Рекомендуется при разработке собственных классов придерживаться этого же правила.
Конструкторы объектов
Рассмотрим, когда и каким образом объекты создаются, то есть когда под них распределяется память и происходят начальное присваивание. Когда мы имеем дело с обычными переменными возможны два варианта: статическая и динамическая переменные. Если переменная статическая, то память под нее распределяется автоматически перед началом выполнения соответствующего блока - при запуске программы для глобальных переменных и при вызове процедуры для локальных. Если переменная динамическая, то память под нее должна быть распределена вручную вызовом оператора new. Переменные типа класс в Object Pascal описываются как статические:
Var AMyObject:TMyObject;
но именно в этом языке они могут быть только динамическими. Это означает, что переменная AMyObject является указателем, содержащим адрес объекта и должна быть распределена вручную. Хотя обращение к полям и методам производится без использования символа (^), как было бы правильно для указателей на структуру. В других объектно-ориентированных языках, например С++, это не так. В них могут быть как статические так и динамические объекты, хотя используются чаще динамические. Статические объекты создаются автоматически, динамические - в ручную. Создание объекта осуществляется путем вызова специального метода, который инициализирует объект - конструктора, Созданный экземпляр уничтожается другим методом - деструктором.