Нтерфейсние класи

»Нтерфейси не можуть мати конструкторів і деструкторів, так як описувані в них методи реалізуютс¤ тільки в рамках підтримують їх класів, які називаютс¤ компонентними (co-classes). ќднако в даній книзі термін «компонентний клас» має самосто¤тельное значення, тому замість нього стосовно до інтерфейсів підтримують класи будемо називати інтерфейсними.

≈слі клас підтримує інтерфейс, ім¤ цього інтерфейсу указиваетс¤ при об'¤вленіі класу в списку його батьків:

¬ відміну від звичайного класу, інтерфейсний клас може мати більше одного батьківського інтерфейсу:

type IMylnterface »interface

¬ будь-якому випадку в розділі реалізації интерфейсного класу необхідно описати відповідні інтерфейсні методи. ѕусть, наприклад, об'¤влен наступний інтерфейс:

ѕусть також об'¤влен підтримує його інтерфейсний клас:

"Тоді в розділі implementation слід вказати реалізацію методів:

"Тепер можна об'¤віть інтерфейсний об'єкт класу IPaint, щоб з його допомогою намалювати коло і квадрат:

Ќесмотр¤ на те що інтерфейс завжди об'¤вл¤етс¤ до об'¤влені¤ підтримує його интерфейсного класу і, отже, відомий компіл¤тору, його методи об¤зательно повинні бути перераховані в об'¤вленіі интерфейсного класу. ¬ нашому випадку просте об'¤вленіе интерфейсного класу, як це показано нижче, було б помилкою: компіл¤тор зажадав би вставити опис методів CirclePaint і RectPaint.

Мистецтво створення компонентів Delphi

Схожі статті