Оголошення та створення об'єкта

Повністю об'єкт створюється за допомогою виклику одного з конструкторів відповідного класу. Конструктор відповідає за створення об'єкта, а також за виділення пам'яті і необхідну ініціалізацію полів. Конструктор не тільки створює об'єкт, але і призводить цей об'єкт в стан, необхідне для його подальшого використання. Кожен клас містить принаймні один конструктор Create, який може мати різну кількість параметрів різного типу - в залежності від типу об'єкта. Нижче розглядається тільки найпростіший конструктор Create без параметрів.

Необхідно запам'ятати, що, на відміну від інших мов програмування, наприклад С ++, конструктори в мові Delphi не викликаються автоматично. Створення кожного об'єкта за допомогою виклику його конструктора входить в обов'язки програміста. Синтаксис виклику конструктора наступний.

Зверніть увагу на особливість виклику конструктора - він викликається за допомогою посилання на клас, а не на екземпляр класу (на відміну від інших методів, котори з викликаються за допомогою посилання на об'єкт). Інакше просто не можна - адже екземпляр об'єкта FooObject в момент виклику конструктора який ще не створено. Але код конструктора класу TFooObject статичний і знаходиться в пам'яті. Він відноситься до класу, а не до його примірнику, тому такий виклик цілком коректний. Виклик конструктора для створення екземпляра класу часто називають створенням об'єкта.

При створенні об'єкта з допомогою конструктора компілятор гарантує, що всі поля об'єкта будуть ініційовані. Всі числові поля будуть обнулені, покажчики візьмуть значення nil, а рядки будуть порожні.

Схожі статті