дь-якої іншої динамічної змінної, для динамічного об'єкта необхідно виділити пам'ять, а після його використання - звільнити пам'ять.
Виділення пам'яті здійснюють процедурою New або функцією New.
Наприклад: (pC); або pC: = New (pTRoom); ...
Для звільнення пам'яті використовують процедуру Dispose. Наприклад: (РС); ...
Робота з динамічними об'єктами класів, побудованих з використанням успадкування зі складним поліморфізмом, має свої особливості.
1.3 Звернення до полів і методів об'єкта
Звернення до полів і методів
об'єкта виконується так само, як до полів записів:
з використанням точкової нотації:
<ім'я об'єкта>. <ім'я поля> або <ім'я об'єкта>. <ім'я методу>;
з використанням оператора with: <ім'я об'єкта> do
... <ім'я поля> ...
... <ім'я методу> ...; ...
Наприклад:
а) v: = A. length;
б) s: = A.Square;
в) s: = s + В [i], Square;
T) pC4ength: = 3; ...
1.4 Ініціалізація полів об'єкта
довідкова система доступ полі лістинг код
Поля об'єкта повинні ініціалізуватися.
Ініціалізація полів об'єкта може здійснюватися трьома способами:
прямим занесенням в полі, наприклад:
Program ex; TRoom = object, width: real; {поля: довжина і ширина кімнати} Square; real; {МОТОДОМ визначення площі};
Function TRoom.Square; {тіло методу визначення площі}
Begin: ^ length "^ width;;
Var A: TRoom; {оголошуємо об'єкт-змінну}: -3.5; {инициализируем поля об'єкта} span>
У4. width:-5J;
. гІе1п (* Площад' кімнати дорівнює A.Square);
з використанням типізованих констант - синтаксис опису
співпадає з синтаксисом типізованих констант типу В«записВ»:
Program ex; TRoom = object, width: real; {nonH: довжина і ширина кімнати} Square; real; {MQTOJX визначення площі}
end; TRoom.Square; {тіло методу визначення площі}
Begin: ^ length "^ width;;: TRoom = (length: 3.5; width: 5.1); {оголошуємо константу} ('Площа кімнати дорівнює A.Square); b>
End
допомогою спеціального методу - дуже часто в якості такого методу