Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ГЭ_У_Студентам / ТРПС_2010.doc
Скачиваний:
57
Добавлен:
05.06.2015
Размер:
4 Mб
Скачать

15.1 - Понятие класса и объекта. Конструкторы и деструкторы.

ОТВЕТ НА ВОПРОС ЛУЧШЕ ПИСАТЬ НА ОСНОВЕ МАТЕРИАЛОВ 3-4 СЕМЕСТРА, А НЕ ПО ИСТОЧНИКАМ INTERNET!!! ОБЯЗАТЕЛЬНО ДОЛЖНЫ БЫТЬ ПРИМЕРЫ!!! См. распечатки

Объект – первичное понятие-элемент, обладающий состоянием, поведением и индивидуальностью.

Индивидуальность

Состояние объекта определяется набором атрибутов, свойств объекта и значением этих атрибутов.

Поведение определяется как активное воздействие на другие объекты или реакция на действия других объектов с точки зрения изменения состояний.

Класс – множество объектов, связанных общностью структуры и поведением.

Объект – экземпляр класса.

Чтобы использовать класс в программе, нужно, как минимум, объявить переменную этого типа. Переменная объектного типа и называется экземпляром класса или объектом.

Var AMyObject : TMyObject;

Объекты бывают активными (меняют состояние без воздействия других объектов) и пассивные (меняют состояние при воздействии других объектов).

Воздействие осуществляется при помощи операций.

Типы операций:

Конструктор – создание, инициирование значений его атрибутов

Селектор – выбирает значения заданных атрибутов

Модификатор – изменяет значений атрибутов объекта

Деструктор – уничтожает объект.

Итератор

Кроме того, менять объект можно еще при помощи методов. Если методы принадлежат объекту и с помощью метода этого класса меняются состояния объекта, то это активный объект. Если объект можно менять только из другого класса, то пассивный.

Создание объекта происходит в результате вызова специального метода, который инициализирует объект – конструктора. Созданный экземпляр уничтожается другим методом – деструктором.

MyObject:= TMyObject.Create;

{действия над созданным объектом}

АmyObject.Destroy;

При создании объекта вызывается не конструктор именно этого объекта, так как фактически его еще нет, мы его еще только создаем, а конструктор класса. Методы класса успешно работают до или даже без создания объекта.

Type

TMyObject = class(TObject)

MyField : Integer;

Constructor Create;

Destructor Destroy;

Function MyMethod : Integer;

End;

Осмысленный пример описания класса и объекта, вызовов методов

15.2 - Понятие класса и объекта. Конструкторы и деструкторы.

Для уничтожения экземпляра объекта рекомендуется использовать метод Free, который первоначально проверяет указатель, и только затем вызывает метод Destroy.

До передачи управления телу конструктора происходит собственно создание объекта – под него отводится память, значения всех полей обнуляются. Далее выполняется код конструктора, написанный программистом для инициализации экземпляров данного класса. Таким образом, хотя синтаксис конструктора схож с вызовом процедуры –

на самом деле это функция, возвращающая созданный и инициализированный объект

Чтобы правильно инициализировать в создаваемом объекте поля, относящиеся к классу-предку, нужно сразу же при входе в конструктор вызвать конструктор предка при помощи зарезервированного слова Inherited.

Constructor TMyObject.Create;

Begin

Inherited Create;

End;