Delphi объект

Delphi 7. Занятие 2_7. Часть 1.

Понятие объекта и класса в delphi.

Рассматриваемые задачи.

  1. delphi объект — понятие объекта в delphi
  2. классы delphi
  3. понятие тип «tobject»
  4. ключевые свойства объекта

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

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

Примером может служить виртуальный аудио проигрыватель. Он имитирует внешний вид панели управления реального проигрывателя.

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

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

Таким образом, объект является сложным типом данных. В отличие от простых типов, он не только описывает структуру хранимой информации (как, например, запись), но и содержит код, позволяющий выполнять действия по управлению этими данными.

Delphi tobject

Основные принципы работы с объектами в delphi.

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

Этот механизм называется «наследование». Он позволяет использовать однажды разработанный удачный код для построения новых объектов. Новый объект будет иметь как все свойства старого объекта, так и добавленные к нему новые поля и методы.

Строительство, таким образом, идёт от простого к сложному.

В основе всего бесчисленного множества объектов, применяемых в современном программировании, лежит всего лишь один единственный объект.

Это тип данных TObject.

В delphi (в силу ряда причин) он называется «классом».

Нотация создания нового класса на основе старого выглядит следующим образом:

TnewObject=class(TOldObject)

end;

Так как в delphi типы объектов называют классами, то обычно пишут:

TchildClass=class(TParentClass)

end;

То есть эта запись говорит, что дочерний класс образуется на основе родительского класса.

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

Поэтому первый слой классов — это классы, построенные на основе TObject.

В каждом языке программирования выстроена своя иерархия классов, но в основе всегда лежит класс TObject.

Например, в delphi это классы TPersistent и TException и TInterfaceObject (а также ряд других).

Класс TPersistent является прородителем в цепочке классов, на конце которой стоит класс TwinControl. Именно это класс отвечает за отображение и функционирование окон (форм).

Ключевые возможности класса TObject.

Программный код, составляющий класс TObject, содержит внутри себя процедуры и функции, позволяющие выдавать некоторую информацию о классе.

Но самая главная процедура — это процедура создания своей копии (объекта) в динамической памяти (в куче).

Это происходит во время прогона (выполнения) программы. Говорят, что класс создаёт объект своего типа. Таких объектов может быть создано неограниченное количество.

В отличие от этого, в пределах среды разработки delphi не может существовать двух абсолютно одинаковых классов.

Рассмотрим, что надо сделать, чтобы создать объект указанного класса.

Во первых, объявляется переменная, в которую в дальнейшем будет помещён указатель на объект этого класса.

Например,

var x: TObject; //в переменной х будет храниться указатель на объект типа Tobject

Сама переменная получает конкретное значение после распределения памяти под объект. За это отвечает процедура Create, расположенная в классе Tobject. Это делается с помощью следующей нотации:

x:= Tobject.Create; //процедура Create имеет особое название — «конструктор объекта»

После выполнения этого оператора в динамической памяти будет размещён объект, являющийся точной копией Tobject.

Delphi class

Структура класса.

При рассмотрении внутреннего устройства класса используется специальная терминология.

Во-первых, как мы уже упоминали, в объекте могут храниться данные, описывающие сам объект. Например, имя объекта.

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

Переменные, хранящие значения внутри объекта, называют «полями» объекта.

Процедуры и функции объекта называют «методы» объекта.

Две процедуры носят особые имена — это «конструктор» и деструктор Destroy.

Метод Create создаёт объект в динамической памяти и возвращает указатель на него.

Вызов деструктора Destroy уничтожает объект, освобождая динамическую память.

Обновлено: 16.01.2021 — 21:14

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *