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

31.Механізм об’єктних інтерфейсів в Delphi.

32.Клас tObject.

Усі компоненти середовища Delphi є нащадками глобального класу TObject (як і всі інші класи). Клас TObject відповідає за основні властивості класів. Методи, які визначені в класі, призначені для

1) створення та руйнації екземплярів класів, а також їх ініціалізації;

2) реагування на створення та руйнацію екземплярів класів;

3) повертають інформацію про об’єкти та класи;

4) підтримки обробку подій;

5) підтримки інтерфейсів, які реалізуються в класах.

Нащадком класу є клас TPersistance, що відповідає за збережуваність та відтворюваність класів.

Клас TPersistance має клас-нащадок TComponent, що призначений для інтеграції з IDE.

Клас TComponent представляє невізуальні компоненти Delphi. Візуальні компоненти створюються за допомогою класів, що є нащадками класу TControl. Цей клас є в свою чергу нащадком класу TComponent.

Діалоги відтворюються за допомогою компонентів, що належать до класу TCommonDialog, який також є нащадком класу TComponent.

Отже, ієрархія компонентів наступна:

33.Об’єктні інтерфейси.

Об’єктний інтерфейс представляє опис структури, яка аналогічна класу, але інтерфейси не мають властивостей (propety), методи інтерфейсу тільки описуються, але не реалізуються в ньому(тільки в класах, що підтримують цей інтерфейс), екземпляр інтерфейсу не може бути створений. Усі інтерфейси мають область видимості public. Опис інтерфейсу має вигляд:

Type

NameInterface = Interface( OtherIntefrace )

Procedure procedureOne;

Function funOne: Integer;

end;

MyClass = Class(TObject, NameInterface)

Procedure procedureOne;

Function funOne: Integer; virtual; abstract; //метод не буде реалізований

end;

Implementation

Procedure MyClass.procedureOne;

begin

...

end;

Procedure main;

var

a: MyClass;

begin

MyClass.Create;

...

MyClass. procedureOne;

end;

end.

end;

Інтерфейси можуть наслідувати один одного. За замовчуванням всі інтерфейси є інтерфейсами-нащадками інтерфейсу IInterface.

Інтерфейси в призначені для створення аналога множинного наслідування. Використовувати зручно для створення групи класів, якій притаманна певна функціональність.

На відміну від java в інтерфейсні класи не використовуються для обробки подій

користувача. Замість цього обробники подій Delphi задаються як властивості об’єктів, що містяться в закладці Events інспектора об’єктів. Для кожного компонента закладка Events містить визначений перелік властивостей об’єкта-компонента, що призначені для обробки подій користувача, таких як натискання на клавішу миші, клавіатури, наведення курсору миші. При створенні компонента всі властивості цієї закладки мають порожні значення. для того, щоб поставити у відповідність певній події метод, потрібно у поле навпроти вибраної властивості в закладці Events, наприклад OnClick (компонент TButton), указати ім’я існуючого методу або двічі натиснути на ліву клавішу миші для створення такого методу. Delphi автоматично створить метод з потрібною назвою (змінювати її не можна!), а вміст методу користувач може написати за власним задумом.

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