<<
>>

Лекция 3.4. Иерархия классов Delphi

Поведение и многие возможности компонентов определяется их предками, т.е. ими определяются многие основные свойства, методы и события. В настоящее время в Delphi насчитывается намного больше 500 различных классов, рассмотреть каждый из них в отдельности не представляется возможным, однако, можно изучить некоторых ближайших предков и на их основе научиться предсказывать некоторые основные возможности классов-потомков, по немного перефразированному принципу «скажи, кто твой родитель, и я скажу кто ты».

Выделим лишь основные ветви иерархии классов, свойства, методы и события которых могут пригодиться при разработке приложений в Delphi. Фрагмент иерархии классов на рисунке 3.4.1

Рисунок 3.4.1 - Фрагмент иерархии классов

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

· constructor Create – создание объекта;

· destructor Destroy – удаление объекта;

· procedure Free – удаление объекта созданного методом Create и вызов метода Destroy.

Класс TComponent является базовым классов всех компонентов. Дает возможность одним компонентам владеть другими компонентами:

· Components[Index: Integer]: TComponent – массив компонентов, принадлежащих данному;

· ComponentCount: Integer – число принадлежащих компонентов;

· Name: TComponentName – собственное имя компонента;

· Owner: TComponent – владелец компонента;

· Tag: Integer – целое значение, назначение определяется разработчиком;

Некоторые методы:

· DestroyComponents – разрушить все принадлежащие компоненты;

· Destroying – уведомить принадлежащий компонент о его разрушении;

· FindComponent – найти компонент в массиве;

Класс TControl – предок всех визуальных компонентов и обеспечивает основные средства для их функционирования.

Основные свойства, класса TControl:

· Action: TBasicAction - определяет действие, связанное с компонентом;

· Left: Integer – отступ слева от края контейнера;

· Top: Integer – верхний отступ;

· Width: Integer – ширина компонента;

· Height: Integer – высота;

· ClientHeight – высота клиентской области компонента;

· ClientWidth – ширина клиентской области компонента;

· Visible: Boolean – видимость компонента;

· Enabled: Boolean – доступность компонента;

· Parent: TWinControl – контейнерный компонент владелец;

· ShowHint: Boolean – управляет отображением контекстной подсказки;

· Hint: String – текст контекстной подсказки;

Основные методы:

· Show – показать компонент;

· Hide – скрыть компонент;

· Repaint – перерисовка компонента;

· Refresh – обновление компонента.

Приватные события, которые можно встретить у потомков:

· OnClick: TNotifyEvent – реакция на щелчок мыши;

· OnMouseDown: TMouseEvent – реакция на нажатие кнопки мыши;

· OnMouseMove: TMouseMoveEvent – реакция на перемещение мыши;

· OnMouseUp: TMouseEvent – реакция на отпускание кнопки мыши;

Внимание! Абсолютно все визуальные компоненты наследуют вышеуказанные свойства методы и события, поэтому далее, при рассмотрении конкретных компонентов эти свойства и методы рассматриваться не будут.

Класс TWinControl – предок всех визуальных оконных компонентов (TForm, TScrollBox, TPanel, TButton и т.д.). Имеет средства для управления созданным окном:

· TabOrder: Integer – порядковый номер обхода компонента;

· TabStop: Boolean – исключает или включает компонент в порядок обхода;

· SetFocus – устанавливает фокус ввода;

· Focused – информирует о том, что компонент имеет фокус ввода

При рассмотрении небольшой части иерархии классов видно, как инкапсулировались свойства и методы в компоненты, которые вам предстоит использовать, а также назначение этих свойств и методов.

Необходимо помнить, что реализация многих методов предков переопределяется в дочерних классах, но смысл методов, как правило, не меняется.

Практически все классы в Delphi представлены в виде исходных кодов и их реализацию, при необходимости, можно просмотреть. Для просмотра реализации класса, щелкните правой кнопкой мыши по имени класса и в контекстном меню выберите самую первую команду - Find Declaration. В результате в редакторе кода откроется модуль, содержащий искомое объявление, редактировать, что-либо в нем не рекомендуется.

Вопросы для самоконтроля

1. Для чего необходимо представлять иерархию классов?

2. Какой класс Delphi является базовым, какие возможности он реализует?

3. Какой класс является предком всех компонентов Delphi?

4. Какой класс является предком всех визуальных компонентов Delphi?

5. Какие свойства предоставляет класс TControl?

6. Какие возможности реализует класс TWinControl?

<< | >>
Источник: РазработкА и эксплуатациЯ автоматизированных информационных систем. ЛЕКЦИИ.

Еще по теме Лекция 3.4. Иерархия классов Delphi:

  1. Лекция № 1
  2. 37. Сущность каналов распределения.
  3. 20. СПП с причинной придаточной частью
  4. морфема
  5. Заключение