y"> використовують спеціальну Ініціалізується процедуру, яку рекомендується
називати Init:
Program ex; TRoom = object
length, width.real; {пояя: довжина і ширина кімнати}
function Square: real; {MQTOJX визначення площі}
procedure// i// (7, H ';/' ^ aO; {ініціалізував метод}
end;
{метод визначення площі} TRoom.Square;
Begin: = length * width;;
{ініціалізував метод} TRoontlnit;: = l; width:-w;;
Var A: TRoom; {оголошуємо об'єкт-змінну}
{основна програма} (3.5y5.1); {инициализируем поля об'єкта}
WriteLn ('Площа кімнати дорівнює A.Square);.
.5 Операція присвоювання об'єктів
Над об'єктами одного класу визначена операція присвоювання. Фізично при цьому відбувається копіювання полів одного об'єкта в інший методом В«поле за полемВ»:
Const A: TRoom = (length: 3.7;: 5,2); B: TRoom; ..,
В: = А; {тепер B.length = 3.7, а B.width = 5.2}
Існують деякі особливості виконання операції привласнення для об'єктів споріднених класів і поліморфних об'єктів.
1.6 Бібліотеки класів. Обмеження доступу до полів і методів
Одним з достоїнств ООП є можливість створення бібліотек класів, на базі яких потім конструюють класи для реалізації об'єктів реального завдання. Бібліотечні класи при цьому описують в інтерфейсній частині модуля, а тіла методів - у розділі реалізації. p align="justify"> Наприклад:
Unit Room;
Type TRoom = object
length, width: real; {поля: довжина і ширина кімнати} Square: real; {метод визначення площі}/w/Y (7, w.Te (2/j; {ініціалізував метод}
end;
Implementation
Function TRoom.Square; {метод визначення площі}: = length "^ width;; TRoom.Init; {ініціалізував метод}: = 1;: = w;;
End.
У цьому випадку основна програма буде підключати відповідний модуль і працювати з класом, його полями і методами, як з ресурсами бібліотеки: ex ;/ loom; {підключаємо модуль з описом класу TRoom} A: TRoom; {оголошуємо об'єкт-змінну}
AJnit (3.5y5.1); {инициа...