Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Otvety_na_ekzamen_po_OOP.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
293.89 Кб
Скачать

13. Индексированные свойства

Индексированные свойства - свойства со спецификатором Index. В этом случае несколько различных свойств, имеющих уникальные имена, используют одни и те же методы чтения и записи для доступа для доступа к разным элементам одного и того же поля – массива. Другими словами происходит автонастройка методов доступа в зависимости от того какое свойство они обслуживают в данный момент.

Unit UIndex;

Interface

TMasks = class

Private

FMasks: array[1..3] of word;

Function GetMask(Index:integer):word;

Procedure SetMask(Index:integer; Value:word);

Public

Property MaskForTask1:word index1 read GetMask write SetMask;

Property MaskForTask2:word index2 read GetMask write SetMask;

Property MaskForTask3:word index3 read GetMask write SetMask;

End;

Р еализация методов Get и Set

Function TMasks.GetMask;

Begin

Result:=FMasks[index];

End;

procedure TMasks.SetMask;

Begin

FMasks[index]:=Value;

End;

….

Begin

myMasks:=TMasks.Create;

with myMasks do

begin

maskForTask1:=10;

maskForTask2:=5;

maskForTask3:= maskForTask1 and maskForTask2;

end;

End;

////Последний оператор SetMask(3, GetMask(1) and GetMask(2) ).

14. Свойства и иерархия классов

Свойство (property), подобно полю, является атрибутом, некоторой характеристикой объекта. Однако, в отличие от поля, которое просто является областью для хранения некоторого данного, свойство ассоциировано со специфическими действиями по чтению и модификации данных свойства. Значения свойств вообще могут не существовать в памяти, например, они могут быть прочитаны из базы данных, вычислены и т.д.

Свойства обеспечивают контроль над доступом к данным и позволяют достичь двух основных положительных эффектов:

· упрощение доступа к полям данных, которые, в соответствии с парадигмами ООП, должны быть закрытыми (private);

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

//ИЕРАРХИЯ

В основе всего многообразия классов и компонентов, используемых в Delphi, лежат всего лишь пять базовых классов. Они обеспечивают выполнение основных функций любого объекта — будь это стандартный компонент VCL или специализированный объект, выполняющий некоторые операции в приложении.

Благодаря механизму наследования свойств и методов, потомки базовых классов умеют "общаться" друг с другом; работают в среде разработки, взаимодействуя с Палитрой компонентов и Инспектором объектов; распознаются операционной системой как элементы управления и окна.

В основе иерархии классов лежит класс TObject. Он обеспечивает выполнение важнейших функций "жизнедеятельности" любого объекта. Благодаря ему, каждый класс получает в наследство механизмы создания экземпляра объекта и его уничтожения. Кроме этого, класс TObject обеспечивает создание и хранение информации об экземпляре объекта и обслуживание очереди сообщений.

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

Класс TComponent является важнейшим для всех компонентов. Непосредственно от него можно создавать любые невизуальные компоненты. Механизмы, реализованные в классе TComponent, обеспечивают взаимодействие компонента со средой разработки, главным образом с Палитрой компонентов и Инспектором объектов. Благодаря возможностям этого класса, компоненты начинают работать на форме проекта уже на этапе разработки.

Класс TControl происходит от класса TComponent. Его основное назначение — обеспечить функционирование визуальных компонентов. Каждый визуальный компонент, произошедший от TControl, наделяется основными признаками элемента управления. Благодаря этому, каждый визуальный компонент умеет работать с GUI (Graphic User Interface — графический интерфейс пользователя ОС) и отображать себя на экране.

Класс TWinControl расширяет возможности разработчиков по созданию элементов управления. Он наследуется от класса TControl и обеспечивает создание оконных элементов управления.

На основе класса TWinControl создан еще один дополнительный класс — TCustomControl. Он обеспечивает создаваемые на его основе компоненты возможностями по использованию канвы — специального объекта, предназначенного для отображения графики. Класс TCustomControl является общим предком для целой группы классов, обеспечивающих создание различных нестандартных типов оконных (получающих фокус) элементов управления Windows: редакторов, списков и т. д.

Для создания неоконных (не получающих фокус) элементов управления используется класс TGraphicControl, являющийся потомком класса TControl.

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

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