Программирование в среде Delphi. Часть 2. Создание оконных приложений. Садовская О.Б. - 9 стр.

UptoLike

Составители: 

9
Если нет необходимости в специальных действиях при чтении
или записи свойства , вместо имени соответствующего метода можно
указывать имя поля :
type tStudent = class
fAge : integer;
property Age : integer read fAge write fAge;
end;
Поля могут быть доступны только для чтения или только для
записи. В этом случае при описании свойства опускаются соответст -
венно разделы read или write. Вообще говоря , свойство может и не
связываться с полем . Фактически оно описывает один или два метода,
которые осуществляют некоторые действия над данными того же ти-
па , что и свойство.
События
В Delphi определено несколько десятков типовых событий.
Событие это свойство процедурного типа , и его значением яв-
ляется указатель на некоторый метод . Присвоить такому свойству
значение означает указать адрес метода, который будет выполняться в
момент наступления события . Такие методы называются обработчика -
ми событий. Общим для всех обработчиков событий является пара -
метр Sender, содержащий ссылку на объект источник события . На-
пример, OnClick событие, возникающее при нажатии на левую
кнопку мыши.
На странице Events в Инспекторе Объектов отображаются только
те свойства компонента, которые имеют тип метода, т.е. события .
Библиотека визуальных компонентов
Классы, созданные разработчиками Delphi, образуют сложную ие-
рархическую структуру , называемую Библиотекой визуальных компо-
нентов (Visual Component Library VCL). Количество входящих в VCL
классов составляет несколько сотен . На следующем рисунке изобра -
жены базовые классы, являющиеся родоначальниками всех остальных
классов.
TObject
TO
b
ject
TO
b
ject
TPersistent
TO
b
ject
TComp
o
TO
b
ject
TControl
TGraphicCo
n
trol
TWinCo
n
trol
                                        9
      Е сли н ет н еоб ход им ост и в специа льн ых д ейст вия х при чт ен ии
или за писи свойства , вм ест о им ен и соот вет ст ву ю щего м ет од а м ож н о
у ка зыва т ь им я поля :
      type tStudent = class
              fAge : integer;
              property Age : integer read fAge write fAge;
              end;
      Поля м огу т б ыт ь д ост у пн ы т олько д ля чт ен ия или только д ля
за писи. В э    том слу ча е при описа н ии свойст ва опу ска ю т ся соот ветст -
вен н о ра зд елы read или write. В ооб ще говоря , свойство м ож ет и н е
свя зыва т ься с полем . Ф а кт ически он о описыва ет од ин или д ва м етод а ,
кот орые осу щест вля ю т н екот орые д ейст вия н а д д а н н ым и т ого ж е т и-
па , чт о и свойст во.

                                          Собы т и я
      В Delphi опред елен о н есколько д еся тков т иповых соб ытий.
      Соб ытие – э    т о свойство процед у рн ого т ипа , и его зн а чен ием я в-
ля ется у ка за т ель н а н екоторый м етод . Присвоит ь т а ком у свойст ву
зн а чен ие озн а ча ет у ка за т ь а д рес м етод а , кот орый б у д ет выполн я т ься в
м ом ен т н а ст у плен ия соб ытия . Та кие м ет од ы н а зыва ю т ся об ра б отчика -
м и соб ытий. Об щим д ля всех об ра б от чиков соб ыт ий я вля ет ся па ра -
м ет р Sender, сод ерж а щий ссылку н а об ъект – ист очн ик соб ытия . Н а -
прим ер, OnClick – соб ыт ие, возн ика ю щее при н а ж а тии н а леву ю
кн опку м ыш и.
      Н а ст ра н ице Events в И н спект оре Об ъект ов от об ра ж а ю т ся т олько
т е свойст ва ком пон ен та , которые им ею т т ип м етод а , т.е. соб ыт ия .


                    Би бли от ека в и зуальны х ком поне нт ов
      К ла ссы, созд а н н ые ра зра б от чика м и Delphi, об ра зу ю т слож н у ю ие-
ра рхическу ю стру кт у ру , н а зыва ем у ю Биб лиот екой визу а льн ых ком по-
н ен тов (Visual Component Library – VCL). К оличест во вход я щих в VCL
кла ссов сост а вля ет н есколько сот ен . Н а след у ю щем рису н ке изоб ра -
ж ен ы б а зовые кла ссы, я вля ю щиеся род он а ча льн ика м и всех оста льн ых
кла ссов.
                                       TObject

                                    TPersistent
                                      TObject

                                    TComponent
                                      TObject

                                      TControl
                                      TObject


                TGraphicControl                      TWinControl