n="justify">
Класи і об'єкти. Поля, властивості та методи Класи і об'єкти
У мові Object Pascal класи - це спеціальні типи даних, що використовуються для опису об'єктів. Відповідно об'єкт, що має тип якого класу, є екземпляром (instance) цього класу або змінної цього типу. Клас являє собою особливий тип запису, що має в своєму складі такі елементи (члени, member), як поля, властивості і методи. Лом класу аналогічні полям запису і служать для зберігання інформації про об'єкт. Методами називаються процедури і функції, призначені для обробки полів. Властивості займають проміжне положення між полями і методами. З одного боку, властивості можна використовувати як поля, наприклад, привласнюючи їм значення за допомогою інструкції присвоювання, з іншого боку, всередині класу доступ до значень властивостей виконують методи класу. Опис класу має наступну структуру:
Туре <Ім'я класу> = class (<Ім'я класу-батька>)
private
<Приватні опису>;
protected
<Захищені опису>;
public
<Загальнодоступні опису>;
published
<Опубліковані описи>;
end;
У наведеній структурі описами є оголошення властивостей, методів і подій.
Приклад опису класу:
type
TColorCircle = class (TCircle);
FLeft,,,: Integer;: TColor;
end;
Тут клас TColorCircle створюється на основі батьківського класу TCircle. У порівнянні з батьківським, новий клас додатково містить чотири поля типу Integer і одне поле типу TColor. p align="justify"> Якщо в якості батьківського використовується клас TObject, який є базовим класом для всіх класів, то його ім'я після слова Class можна не вказувати. Тоді перший рядок опису буде виглядати так: type TNewClass = class
Для різних елементів класу можна встановлювати різні права доступу (видимості), для чого в описі класу використовуються окремі розділи, позначені спеціальними специфікаторами видимості.
Розділи private і protected містять захищені опису, які доступні всередині модуля, в якому вони знаходяться. Описи з розділу protected, крім того, доступні для породжених класів за межами названого модуля. p align="justify"> Розділ public містить загальнодоступні описи, які видимі в будь-якому місці програми, де доступний сам клас.
Розділ published містить опубліковані описи, які на додаток до загальнодоступних описам породжують динамічну (тобто під час виконання програми) інформацію про тип (Run-Time Type Information, RTTI). За цією інформацією при викон...