Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Объявление и создание объекта

Основные положения объектно-ориентированного программирования | Принципы ООП | Элементы классов | Области видимости | Типы методов | Переопределение методов | Перегрузка методов | События. Взаимодействие объектов. | От структурированного программирования к ООП | Основные задачи структурного программирования |


Читайте также:
  1. I. Функциональные характеристики объекта закупки
  2. III. Особенности предмета и объекта музыкальной педагогики.
  3. IV. ВОЗМОЖНЫЕ АВАРИИ НА ОБЪЕКТАХ ЗАВОДА
  4. VII. Внесение в Реестр сведений об объектах незавершенного строительства
  5. VIII. Организация и порядок проведения учебных тренировок на охраняемых объектах
  6. Аварии на пожаро- и взрывоопасных объектах (ПВОО)
  7. Автоматическое создание раскройных карт

Безусловно, перед тем как использовать объект, следует объявить его класс. В Object Pascal это делается с помощью ключевого слова class. Объявления классов помещаются в раздел объявления типов модуля или программы.

type TFooObject = class;

Только после объявления класса можно делать объявление переменных этого типа (называемых также экземплярами – instance) в разделе var.

var FooObject: TFooObject;

Полностью объект создается с помощью вызова одного из конструкторов (constructor) соответствующего класса. Конструктор отвечает за создание объ­екта, а также за выделение памяти и необходимую инициализацию полей. Он не только создает объект, но и приводит его в состояние, необходимое для его дальнейшего использования.

Каждый класс содержит по крайней мере один конструктор Create, который может иметь различное количество пара­метров разного типа – в зависимости от типа объекта. Ниже рассматривается только простейший конструктор Create без параметров.

Необходимо запомнить, что, в отличие от других языков программирования, например C++, конструкторы в языке Object Pascal не вызываются автоматиче­ски. Создание каждого объекта с помощью вызова его конструктора входит в обязанности программиста. Синтаксис вызова конструктора следующий.

FooObject:= TFooObject.Create;

Обратите внимание на особенность вызова конструктора – он вызывается с помощью ссылки на класс, а не на экземпляр класса (в отличие от других методов, которые вызываются с помощью ссылки на класс). В этом есть глу­бокий смысл – ведь экземпляр объекта FooObject в момент вызова конструк­тора еще не создан.

Но код конструктора класса TFooObject статичен и нахо­дится в памяти. Он относится к классу, а не к его экземпляру, поэтому такой вызов вполне корректен. Вызов конструктора для создания экземпляра класса часто называют созданием объекта.

При создании объекта с помощью конструктора компилятор гарантирует, что все поля объекта будут инициализированы. Все числовые поля будут об­нулены, указатели примут значение nil, а строки будут пусты.


Дата добавления: 2015-07-25; просмотров: 49 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Свойства| Уничтожение объекта

mybiblioteka.su - 2015-2024 год. (0.007 сек.)