Базовые классы в 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; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!