
33.Иерархия классов в Delphi
В настоящее время в Delphi насчитывается намного больше 500 различных классов, рассмотреть каждый из них в отдельности не представляется возможным, однако, можно изучить некоторых ближайших предков и на их основе научиться предсказывать некоторые основные возможности классов-потомков, по немного перефразированному принципу «скажи, кто твой родитель, и я скажу кто ты». Выделим лишь основные ветви иерархии классов, свойства, методы и события которых могут пригодиться при разработке приложений в Delphi.
Класс 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. В результате в редакторе кода откроется модуль, содержащий искомое объявление, редактировать, что-либо в нем не рекомендуется.