якості другого параметра виклик конструктора або деструктора для виділення або звільнення пам'яті змінної об'єктного типу:
New (P, Construct)
або (P, Destruct)
Де P - покажчик на змінну об'єктного типу, а Construct або- конструктор і деструктор цього типу.
Дія процедури New в разі розширеного синтаксису рівносильна дії наступної пари операторів:
(P); ^. Construct;
Еквівалентом Dispose є наступне:
P ^ Dispose; (P)
Застосування розширеного синтаксису не тільки покращує читаність вихідного коду, але і генерує більш короткий і ефективний виконуваний код.
. Поліморфізм
Поліморфізм полягає в тому, що одне і те ж ім'я може відповідати різним діям в залежності від типу об'єкта. У тих прикладах, які розглядалися раніше, поліморфізм проявлявся в тому, що метод Init діяв по-різному залежно від того, є об'єкт точкою або колом. Поліморфізм безпосередньо пов'язаний з механізмом пізнього зв'язування. Рішення про те, яка операція повинна бути виконана в конкретній ситуації, приймається під час виконання програми.
Наступне питання, пов'язаний з використанням об'єктів, полягає в сумісності об'єктних типів. Корисно знати наступне. Спадкоємець зберігає властивості сумісності з іншими об'єктами свого батька. У правій частині оператора присвоювання замість типів батька можна використовувати типи спадкоємця, але не н?? оборот. Таким чином, у нашому прикладі допустимі присвоювання:
Var
Alocation: Location;
Apoin: Point ;: Circle;:=oint:=crcle;:=circle;
Справа в тому, що спадкоємець може бути більш складним об'єктом, який містить поля і методи, тому що привласнюються значення екземпляра об'єкта-батька примірника об'єкта-спадкоємця може залишити деякі поля невизначеними і, отже, представляє потенційну небезпеку. При виконанні оператора присвоєння копіюються тільки ті поля даних, які є загальними для обох типів.