Базовые классы в Delphi. Классы TObject, Tpersistent, TComponent, TControl, TWINConctrol. Методы класса, правила формирования имен методов, инкапсуляция.



TObject

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

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

•возможность создания, обслуживания и разрушения объектов путем выделения, инициализации и освобождения памяти, необходимой для работы объекта (например, методы Create,Destroy,Free);

•получение информации о классе объекта, а также информации о опубликованных свойствах объекта, доступной во время выполнения программы (на-

пример , методы ClassInfo, ClassName, ClassNameIs, ClassType, ClassParent, FieldAddress);

•обработку сообщений.

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

Класс TPersistentявляется наследникомTObject и предком всех объектов, не являющихся компонентами, использующих возможности копирования свойств и операции с потоками. Он обеспечивает:

•чтение и сохранение неопубликованных данных в потоке;

•средства для присвоения значений свойствам;

•средства для копирования содержимого одного объекта в другой. Некоторыми методами для реализации этих задач являются:

• procedure DefineProperties(Filer: TFiler); virtual; – обеспечивает чтение и за -

пись неопубликованных данных из потока, например файла. По умолчанию при записи записываются в поток значения всех опубликованных свойств, а при чтении происходит присваивание считанных значений опубликованным свойствам;

• procedure Assign(Source: TPersistent) ; ( Destination.Assign(Source)- обраще -

ние) – копирует в Destination свойства изSource. Если вDestination методAssign не перекрыт иDestination не знает, как копировать свойства изSource, то вызывается методAssignTo объектаSource;

• procedure AssignTo(Dest: TPersistent); virtual ; ( Sourse.AssignTo(Destination)) –

копирует в Destination свойства изSource.

Класс TComponentявляется наследникомTPersistent и предком всех невизуальных компонентов, который:

•позволяет добавить компонент в набор компонентов Delphi и управлять им в режиме разработки программы;

•обеспечивает возможность компоненту включать в себя другие компоненты и управлять ими;

•расширяет возможности по работе с потоками.

Некоторые свойства и методы класса TComponent:

property Name: TComponentName; – описывает имя компонента для обеспечения возможности обращения к нему. Подчиняется всем правилам, применяемым при выборе имен переменных, констант, типов и т.д.;

property Tag: Longint; – свойство, не используемое Delphi. Может применяться, например, для хранения информации о состоянии компонента;

property Owner: TComponent; – позволяет установить владельца данного компонента;

property ComponentIndex: Integer; – определяет положение компонента в списке компонентов владельца;

property ComponentCount: Integer; – описывает число компонентов, для которых данный компонент является владельцем;

• property Components[Index: Integer]: TComponent; – позволяет получить дос -

туп к одному из компонентов, которыми владеет данный компонент, по его индексу;

• function FindComponent(const AName: string): TComponent; – позволяет полу -

чить доступ к одному из компонентов, которыми владеет данный компонент, по его имени;

• procedure InsertComponent(AComponent: TComponent); – устанавливает дан -

ный компонент владельцем компонента AComponent;

Абстрактный класс TControlявляется наследникомTComponent и предком всех визуальных компонентов. Описывает общие для всех визуальных компонентов свойства, методы и события. Многие из свойств и методов данно-

63

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

Некоторые свойства, методы и события класса TControl:

property Align: TAlign; – задает метод выравнивания компонента в владельце;

property AutoSize: Boolean; – позволяет компоненту корректировать свой размер в соответствии с содержимым;

• property Caption: TCaption;,

property Text: TCaption; – задают текстовые строки для идентификации компонента, например, заголовок, метку. Как правило, у компонента опубликовано только одно из этих свойств;

property Color: TColor; – определяет цвет компонента;

property Enabled: Boolean; – задает, может ли компонент реагировать на мышь, клавиатуру и события таймера;

property Font: TFont; – определяет шрифт компонента;

property Visible: Boolean; – задает, видим ли компонент на экране;

procedure Hide; – делает компонент невидимым;

procedure Show; – делает компонент видимым;

Абстрактный класс TWinControlявляется наследникомTControl и предком всех визуальных компонентов, которые:

•могут получать фокус во время работы приложения;

•могут быть присвоены другим компонентам как Parent;

•могут иметь заголовок окна – идентификатор окна Windows; Некоторые свойства, методы и события класса TWinControl:

• property BorderWidth: TBorderWidth; – ширина рамки компонента ;

property Brush: TBrush; – определяет цвет и тип фона компонента;

• property Controls[Index: Integer]: TControl; – позволяет получить доступ к компоненту, для которого данный компонент Parent;

property TabOrder: TTabOrder; – определяет последовательность перехода от компонента к компоненту при нажатии клавиши TAB;

property TabStop: Boolean; – указывает, можно ли останавливаться на компоненте при нажатии клавиши TAB;

procedure SetFocus; virtual; – переводит фокус на данный компонент;

property OnKeyDown: TKeyEvent; – определяет действия при нажатии клавиши на клавиатуре (с учетом клавиш Shift, Alt, Ctrl), когда объект имеет фокус;

property OnKeyUp: TKeyEvent; – определяет действия при отпускании клавиши на клавиатуре (с учетом клавиш Shift, Alt, Ctrl), когда объект имеет фокус;

• property OnKeyPress: TKeyPressEvent; – определяет действия при нажатии клавиши на клавиатуре (без учетом клавиш Shift, Alt, Ctrl), когда объект имеет фокус;


Дата добавления: 2019-09-13; просмотров: 306; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!