Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
31-35.docx
Скачиваний:
6
Добавлен:
01.04.2025
Размер:
53.67 Кб
Скачать

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. В результате в редакторе кода откроется модуль, содержащий искомое объявление, редактировать, что-либо в нем не рекомендуется.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]