Інтерфейси
Delphi site: daily Delphi-news, documentation, articles, review, interview, computer humor.
1.2.1. Створення та використання інтерфейсів
Інтерфейси є окремий випадок опису класів. Вони оголошуються за допомогою зарезервованого interface. Наприклад:
type IEdit = interface
За прийнятим у Delphi угоді імена інтерфейсів починаються буквою I.
Якщо інтерфейс передбачається використовувати у технології СОМ, він обов'язково має забезпечуватись так званим глобально-унікальним ідентифікатором (Globally Unique Identifier, GUID). Цей ідентифікатор інтерфейсу (Interface Identifier, IID) створюється за спеціальною технологією, що гарантує мізерну ймовірність збігу новоствореного IID з будь-яким раніше створеним!1.
У середовищі Delphi щоб отримати GUID досить натиснути комбінацію клавіш Ctrl+Shift+G. Для отримання програмного забезпечення GUID слід звернутися до функції CoCreateGUID інтерфейсу API.
Будь-який ідентифікатор GUID зберігається у структурі такого виду:
Оскільки оперувати такою структурою складно, Delphi дозволяє записувати її у вигляді рядка:
Тут X – шістнадцяткова цифра.
1 GUID є 128-розрядне ціле число. Його унікальність забезпечується досить великим числом та чудовим алгоритмом його генерації, в якому використовуються поточні дата та час, частота процесора та номер мережної карти. Наявність у комп'ютері мережевої карти гарантує унікальність GUID, оскільки за існуючим галузевим стандартом кожна мережна картка має унікальний ідентифікатор.
type IEdit = interface
Програміст може оголошувати типізовані константи типу TGUID, наприклад:
Константи GUID можуть використовуватись замість імен інтерфейсів під час викликупідпрограм. Наприклад, два наступні звернення ідентичні: