Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Контрольные работы » Об'єктно-орієнтоване програмування

Реферат Об'єктно-орієнтоване програмування





Цей тип описаний таким чином:

type TNotifyEvent = procedure (Sender: TObject) of object;


і містить один параметр Sender, який вказує об'єкт-джерело події. Багато події більш складного типу, поряд з іншими параметрами, також мають параметр Sender. p align="justify"> Оскільки події є властивостями, їх значення можна змінювати в процесі виконання програми, тобто можна динамічно змінювати реакцію об'єкта на одне і те ж подія. При цьому допускається призначати обробник події одного об'єкта іншому об'єкту або його події, якщо збігаються типи подій. Подібна можливість забезпечується за допомогою покажчика на клас. Крім явно задаються параметрів, наприклад, параметра Sender, методом завжди передається покажчик на що викликав його екземпляр класу. Цим покажчиком є ​​параметр Self. p align="justify"> Для посилки повідомлення віконних елементів управління можна використовувати функцію SendMessage. Посилка повідомлення може знадобитися в разі, коли компонент через свої властивості не надає всіх своїх можливостей. Наприклад, список ListBox не має властивостей, безпосередньо керуючих горизонтальною смугою прокрутки. Тому для відображення та приховування горизонтальної смуги прокрутки можна послати списку відповідне повідомлення. p align="justify"> Функція SendMessage (hwnd: HWND; Msg: Cardinal; WParam, LParam: Longint): Longint посилає повідомлення віконному елементу управління, посилання (дескриптор) на який задана параметром hwnd. У Delphi дескриптор віконного елемента містить властивість Handle. Параметр Msg вказує код повідомлення, а параметри WParam і LParam містять додаткову інформацію про повідомлення, і їх значення залежать від конкретного повідомлення. p align="justify"> Розглянемо наступний приклад:

Label1.Caption: = IntToStr (SendMessage (ListBox1.Handle, LB_GetCount, 0, 0));

Тут списку ListBox1 надсилається повідомлення LB_GetCount яке наказує списку видати число його елементів. Для доступу до списку використовується його дескриптор, значення якого містить властивість Handle. Так як для даного повідомлення додаткова інформація не потрібно, значення двох останніх параметрів дорівнюють нулю. p align="justify"> Число елементів списку можна отримати також через подсвойство Count властивості Items списку.


Динамічна інформація про тип


Об'єкти містять динамічну інформацію про власний типі (RTTI, Run-Time Type Information) та спадкуванні, яка доступна під час виконання програми і яку можна використовувати, наприклад, для перевірки належності об'єкта до того чи іншого типу. Оскільки для кожного об'єкта допустимі тільки певні операції, що залежать від його типу, така перевірка дозволяє запобігти небезпечні ситуації, пов'язані з виконанням неприпустимих дій. p align="justify"> Більшості методів при виклику передається параметр Sender, ...


Назад | сторінка 8 з 9 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Характеристика автобуса малого класу сільського повідомлення ПАЗ-3205
  • Реферат на тему: Критерії належного повідомлення іноземних осіб в господарському процесі
  • Реферат на тему: Судові повідомлення
  • Реферат на тему: Повідомлення сторони про судовому процесі як умову визнання іноземних судів ...
  • Реферат на тему: Завідомо неправдиве повідомлення про тероризм